首先,为了从商店获取更新状态,您需要 subscribe
像
const unsubscribe = store.subscribe(() => { store.getState();})因此,这不是应对变更的一种React方法。
其次, 当您将存储传递到
Layout组件时,很有可能您没有
bind该
layout函数,因此
this.props.store未定义。
为了使用Redux的反应方式,您可以使用Provider和 connect
方法
import { Provider } from 'react-redux';const renderAll = () => { console.log("inside render all" ,store); ReactDOM.render( <Provider store={store}> <App /> </Provider>, document.getElementById('root') );}然后您的路线可以简单地
你可以
Body从
Layout喜欢调用组件
<Body ChangeName={this.handleChangeName} s_key={this.state.inputkey} />并像
const mapStateToProps = (state) => { user: state.user}export default connect(mapStateToProps)(Body)确保
connected Body component在布局组件中使用。
之后,您可以
user state在
Body类似的组件中使用
{this.props.user.map(u => { return <UserDiv name={u.name} age={u.age} location={u.location} gender={u.gender} job={u.job} />;})}如果最初在redux存储中未定义用户值,则需要在Body组件中添加一个检查,然后再使用它,例如
{this.props.user && this.props.user.map(u => { return <UserDiv name={u.name} age={u.age} location={u.location} gender={u.gender} job={u.job} />;})}


