1

我正在使用 React 的新上下文 api (v16.x)。

我做了一个简单的测试应用程序以确保我理解它:

const MyContext = React.createContext();

const Child = () => (
  <MyContext.Consumer>
    {value => value}
  </MyContext.Consumer>
)

const Parent = () => (
  <MyContext.Provider value={"Working"}>
    <Child/>
  </MyContext.Provider>
)

<Parent>即使使用和之间的中间组件,这也可以正常工作<Child>

但是,下面的组件会产生以下错误:“元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件)但得到:未定义”(注意:我正在使用材料- ui库)

let NavigationPanel = (props) => (
  <DisabledContext.Provider value={props.disabled}>
    <InstructionsContext.Provider value={props.onOpenInstructions}>
      <Hidden mdUp><DrawerNavigationPanel data={props.data}/></Hidden>
      <Hidden smDown><StaticNavigationPanel data={props.data}/></Hidden>
    </InstructionsContext.Provider>
  </DisabledContext.Provider>
)

为什么会发生这种情况?

4

0 回答 0