0
我使用React和Redux來每次單擊按鈕時嘗試增加道具的值。但道具因某種原因被當作NaN來對待。爲什麼ES6將此視爲NaN?
這是我的減速器:
export default function(){
return 0;
}
而另一個減速機:
export default function (state = null, action) {
switch (action.type) {
case 'VALUE_INCREMENTED':
return action.payload;
break;
}
return state;
}
這是我的行動:
export const incrementValue = (val) =>{
console.log("You incrementend the value to: ", val+1);
return {
type: 'VALUE_INCREMENTED',
payload: val+1
}
};
而這是容器:
class Thermo extends Component{
getValue(){
return this.props.val;
}
render(){
return(
<div>
<Thermometer
min={0}
max={90}
width={10}
height={230}
backgroundColor={'gray'}
fillColor={'pink'}
current={this.props.val}
/>
<input type = "submit" onClick={() => this.props.incrementValue(this.props.val)}value="+"/>
</div>
)
}
}
function mapStateToProps(state){
return{
val: state.val
};
}
function matchDispatchToProps(dispatch){
return bindActionCreators({incrementValue: incrementValue}, dispatch);
}
export default connect(mapStateToProps, matchDispatchToProps)(Thermo);
我不知道React,但很可能'this.props.val'是'undefined'。 –
@Gothdo我粘貼了整個容器代碼。我即將編輯它。 –
請發佈您的減速機代碼,這將是超級有用 – finalfreq