text
是否可以像这样修改兄弟姐妹的状态?或者我应该将<div>
属性移到组件A?
答案 0 :(得分:3)
当您需要在组件之间共享状态时,将该状态移至其共同父级并通过道具将其下移。
这是我所得到的要点。显然,你需要传递实际值。
class ComponentA extends React.Component{
constructor(props){
super(props);
this.state = {
text: '',
}
}
render(){
return (
<View>
<ComponentB text={this.state.text}>
<ComponentC onPress={(value) => this.setState({text: value})}>
</View>
)
}
}
class ComponentB extends React.Component{
render(){
return(
<Text>{this.props.text}</Text>
)
}
}
class ComponentC extends React.Component{
render(){
return(
<View>
<TouchableHighlight onPress={this.props.onPress} />
</View>
)
}
}