Как работает 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?


Ответы (0 шт):