#javascript #reactjs
#javascript #reactjs
Вопрос:
const tableContext = React.createContext();
const tableContextProvider = ({children}) => {
const [isTableOne, setTableOne] = useState(false);
const [isTableTwo, setTableTwo] = useState(false);
useEffect(() => {
setTableValues();
}, []);
function setTableValue() {
setTableOne(result.IS_TABLE_ONE); // true
setTableTwo(result.IS_TABLE_TWO); // false
}
return (<TableContext.Provider value={{isTableOne, isTableTwo}}>{children}
{isMetaTable? <LoadingComponent /> : null}
</TableContext.Provider>);
};
Если контекст из MetaTable, я хотел бы показать экран загрузки
{isMetaTable? <LoadingComponent /> : null}
Как я могу передать значение в контекст, чтобы установить isMetaTable
значение true
?
<Switch>
<Route exact path='/route1'><TableContextProvider><MetaTable /></TableContextProvider></Route>
<Route exact path='/route2'><TableContextProvider><Table2 /></TableContextProvider></Route>
<Route exact path='/route3'><TableContextProvider><Table3 /></TableContextProvider></Route>
<Redirect from='/' to='/route1' />
</Switch>
Комментарии:
1. Создайте другую переменную состояния и передайте ее метод «set» поставщику контекста —
<TableContext.Provider value={{isTableOne, isTableTwo, setIsMetaTable}}>