Если я использую setState, у меня бесконечный цикл
buildRoute(listRoutes) {
console.log("Je passe là")
return (
listRoutes.map((prop, key) => {
if (prop.subMenus != null) {
if (prop.path !== undefined) {
if(prop.redirect || this.state.listMenuActionsUser.includes(prop.code)){
this.setState(previousState => ({
listRoutesUser: [...previousState.listRoutesUser, prop]
}));
return [
this.routes(prop, key),
this.buildRoute(prop.subMenus)
];
}
} else {
if(prop.redirect || this.state.listMenuActionsUser.includes(prop.code)){
this.setState(previousState => ({
listRoutesUser: [...previousState.listRoutesUser, prop]
}));
return this.buildRoute(prop.subMenus);
}
}
} else {
if(prop.redirect || this.state.listMenuActionsUser.includes(prop.code)){
this.setState(previousState => ({
listRoutesUser: [...previousState.listRoutesUser, prop]
}));
return this.routes(prop, key);
}
}
})
);
}
Превышена максимальная глубина обновления.Это может произойти, когда компонент повторно вызывает setState внутри componentWillUpdate или componentDidUpdate.React ограничивает количество вложенных обновлений для предотвращения бесконечных циклов.