向导入的节点模块提供React Context

时间:2019-02-15 07:55:47

标签: reactjs webpack react-redux

ES6是否可以从依赖于上下文提供程序(例如react-redux 6.0)的node_modules导入React组件,而无需由该模块导出提供程序上下文?

例如,导入的实现将使用自己的Provider包装导入的组件。

import App from 'app-package'
import { Provider } from 'react-redux'

ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById('example'),
);

这在react-redux 5.1.1中有效,但在6.0.0中不起作用,因为6.0.0现在正在使用React Context API。该问题也可能与webpack有关。

1 个答案:

答案 0 :(得分:0)

找到了这个https://github.com/facebook/react/issues/13336

<App/>似乎必须具有自己的提供者上下文,因为它在命令性边界之外。

要与<App/>共享存储,可以使用ReactReduxContext.Consumer并将存储作为道具传递(通过组件包装器)