我不知道這是否是正確的解決方案,以更新狀態有兩個dictionares陣營JS的setState({字典:字典})
var PopulationCityView = React.createClass({
getInitialState: function() {
return {
prod_diff : {'wheat':0,'meat':0,'fish':0,'bread':0,'fruit':0,'wine':0,'beer':0,'wool':0,'cloth':0,'leather':0,'paper':0,'ceramics':0,'furniture':0,'glass':0}
};
},
componentWillMount: function() {
this.prod_diff = {'wheat':0,'meat':0,'fish':0,'bread':0,'fruit':0,'wine':0,'beer':0,'wool':0,'cloth':0,'leather':0,'paper':0,'ceramics':0,'furniture':0,'glass':0};
},
handleM: function(res,child_new_res_diff){
var new_prod_diff = this.prod_diff;
new_prod_diff[res] = child_new_res_diff;
this.setState({prod_diff:new_prod_diff});
},
render: function(){
........
,如果任何人更好,更快的解決方案都知道會要求一個提示。 ..
不要直接修改'this.state'。您可以輕鬆地將嵌套對象傳遞給'setState',而不必擔心通過調用'forceUpdate'來攻擊API。 – couchand
@couchand這就是爲什麼我建議第一個解決方案更好,但總是有一些邊緣案例。然而,你是正確的forceUpdate是危險的,所以我糾正了我的第二個解決方案。 – daniula