gpt4 book ai didi

javascript - Redux:渲染时 props 未定义

转载 作者:行者123 更新时间:2023-11-28 18:47:57 25 4
gpt4 key购买 nike

尝试用我自己的例子来实现ReactRedux,我有点挣扎。看起来好像我的 props 没有被赋予任何值,并且在 React 渲染它们时仍然未定义。我的方法总体上是正确的,只是一个简单的错误,还是真的有问题?

我在 jsbin 中重新创建了我的问题:

class Walls extends React.Component {
render() {
return (
<div id="main">
<div>volume: {this.props.volume}m³</div>
</div>
)}
}

const mapStateToProps = (state) => {
return {
volume: state.volume
};
}

const WallContainer = connect(mapStateToProps)(Walls);

function reducer(state = Map(), action) {
switch (action.type) {
case 'SET_STATE':
return state.merge(action.state);
}
return state;
}

const store = createStore(reducer)
store.dispatch({
type: 'SET_STATE',
state: {"volume":1567.571734691151}
})

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

最佳答案

连接时,您只需从 Immutable Map 映射回来,否则您的方法对我来说看起来是正确的:

const mapStateToProps = (state) => {
return {
volume: state.get('volume')
};
}

请记住,此时,state 仍然是一个 Immutable Map,而不仅仅是一个 JavaScript 对象。

关于javascript - Redux:渲染时 props 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34989994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com