React Router和上下文无法一起使用

时间:2018-12-12 17:29:27

标签: javascript reactjs react-router

我正在尝试从我的站点传递数据。

我决定为此使用React Context并实现一个高层Context(称为DataContext)。但是我使用的仪表板也实现了React Router。

我怎样才能使两者一起工作?

让DataStore成为ContextProvider:

  import React from "react";

  export const DataContext = React.createContext();

  class DataStore extends React.Component {
    state = {
      data: {}
    };

    render() {
      return (
        <DataContext.Provider value={this.state.data}>
          {this.props.children}
        </DataContext.Provider>
      );
    }
  }

  export default DataStore;
  ~                                

以上代码目前无法正常运行,我也不知道为什么。

TypeError:渲染不是函数

DataStore.jsx:

import {DataContext} from "../../context/DataStore";

class Accessor extends Component {

  render() {
    <DataContext.Consumer>
      <Item>
    </DataContext.Consumer>
  }
}

我这样访问提供商:

{{1}}

1 个答案:

答案 0 :(得分:0)

改为使用react-redux,它们在相同的方案和配置中工作。