如果我理解正确,提供程序组件/方法允许以redux存储访问权限,而不必直接在每个组件内导入它。假设我的理解是正确的,那么我想知道为什么我无法在App.js中获得store.getState()。它说,店里是未定义....React获取状态提供者方法
Index.js
const store = createStore(allReducers,{})
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root'));
App.Js
class App extends Component {
render() {
console.log(store.getState())
return (
<div className="App">
<div className="individual">
<House/>
<NameTag/>
</div>
</div>
);
}
}
但是,请注意,您**不应**通常以这种方式直接访问商店。使用React-Redux'connect()'函数来创建包装器组件,以替代地管理商店订阅。 – markerikson
@markerikson我同意。如果我们必须从存储中访问一些值,那么我们应该使用connect()函数来创建一个包装器。但是我遇到了一种情况,我需要在共享同一商店的单个应用程序中处理两个提供程序组件。在这种情况下,我使用上下文类型来获得商店。 –
呃......没有道理。你是否说_two_ Redux Providers缠绕在一起?还是一个Redux Provider和一个与其他库相关的组件? – markerikson