Как работает defaultValue и когда нужно передавать его в React.createContext?
Аргумент defaultValue используется только в том случае, если для компонента нет подходящего Provider выше в дереве. Значение по умолчанию может быть полезно для тестирования компонентов в изоляции без необходимости оборачивать их. Обратите внимание: если передать undefined как значение Provider, компоненты, использующие этот контекст, не будут использовать defaultValue.\
Выдержка из официальной документации, гласит что defaultValue используется только , если Provider нет выше в дереве React.createContext
Но я в примере кода ниже имею и провайдер и передаю также дефолтное значение, что как понял работает, но по документации не является верным, если есть провайдер то не нужно defaultValue передавать? а что передать тогда null или undefined?
и поясните пожалуйста что значит фраза
если передать undefined как значение Provider
Это имеется ввиду не создавать обертку Provider вообще или его valu?
const mainStore = new MainStore();
const storeContext = React.createContext(mainStore);
export const useStores = () => React.useContext(storeContext);
ReactDOM.render(
<React.StrictMode>
<storeContext.Provider value={mainStore}>
<NavigationProvider>
<Router>
<App />
</Router>
</NavigationProvider>
</storeContext.Provider>
</React.StrictMode>,
document.getElementById('root'),
);
и поясните пожалуйста что значит фраза
если передать undefined как значение Provider
Это имеется ввиду не создавать обертку Provider вообще или его value?