[英]setState inside a static method
我想使用setState方法设置一个组件与另一个组件的状态,因为这似乎涉及较少的编码,但是我知道我不能在静态方法中使用this关键字,这给我带来了问题。 我想知道另一个解决此问题的方法。 帮助将不胜感激。
第一部分
class First extends Component {
filterByLocation(loc) {
const filteredData = this.state.passedInfo.filter(({area}) => area === loc);
this.setState({members: filteredData})
}
}
第二部分
class Second extend Component {
renderSuggestion() {
<TouchableOpacity
onPress = {()=> this.setState({location}, () => {
First.filterByLocation(this.state.location);
})}>
<Text> {"Click Me"}</Text>
</TouchableOpacity>
}
}
为什么不将整个对象传递给您的方法,例如:
<TouchableOpacity
onPress = {()=> this.setState({location}, () => {
Home.filterByLocation(this, this.state.location);
})}>
<Text> {"Click Me"}</Text>
</TouchableOpacity>
过滤方式:
filterByLocation(context, loc) {
const filteredData = context.state.passedInfo.filter(({area}) => area === loc);
context.setState({members: filteredData})
}
为了确保这不是一个好的做法,它应该可以解决问题,但又不应过度使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.