我在使用ajax异步获取到数据后使用 setState重置父组件的状态 ,种种现象表明重置是生效的。但是使用this.state.** 给子组件传值并没有使子组件重新渲染(我子组件的数据使用的是this.props.data)
React 父子组件间通信 子组件没有重新渲染
teemo
#5
问题被我定位了 有问题的的代码 :
menuValue=(value)=>{
axios.get(’/getInfo/’+value)
.then(function(json){
alert(JSON.stringify(json));
this.setState({data:json});
}).bind(this)
}
出现的现象是 this.setState被调用,而data赋值失败
derycktse
#6
bind(this) 位置错了
menuValue = (value)=>{
axios.get('/getInfo/' + value).then(function(json) {
alert(JSON.stringify(json));
this.setState({
data: json
});
}
.bind(this))
}
teemo
#8
[quote=“teemo, post:5, topic:13423”]
而data赋值失败
关键是我在父组件中使用alert ,发现父组件的state是更新了的 ,我把拿到的值传给子组件 子组件没有更新