我試圖在反應組件上顯示一個存儲值。但是,這返回未定義。我的行動和減速機工作正常,並更新狀態。全局狀態值沒有顯示在減號中
但是組件應該在每次狀態改變時重新呈現。看起來像mapStateToProps或連接功能無法正常工作。
這裏是我的代碼:
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import {Provider, connect} from 'react-redux';
import {createStore} from 'redux';
class Sam extends Component{
constructor(props){
super(props)
}
render(){
return(
<div>
{this.props.globalState.no} // Uncaught TypeError: Cannot read property 'no' of undefined
<button onClick={()=>{store.dispatch(incAction)}}>Click Me</button>
</div>
)
}
}
const reducer = (state={name:'Piyush',no:0}, action) => {
if(action.type==='INC'){
console.log("INC");
console.log("getstate => ", store.getState());
console.log("Old state => ", state);
console.log("New State => ", Object.assign({}, state, {no:state.no + 1}));
return Object.assign({}, state, {no:state.no + 1})
}
return state;
}
const incAction = {
type:'INC'
}
const mapStateToProps = (globalState) => {
return {globalState:globalState.reducer}
}
const store = createStore(reducer);
ReactDOM.render(<Provider store={store}><Sam /></Provider>, document.getElementById('app'))
export default connect(mapStateToProps)(Sam)
@ChristopherChiche –