Как получить доступ к состоянию другого класса в реагировать на родной?
Я хочу получить доступ к состоянию, объявленному в классе MainActivity, для класса Hamburgicon. Доступ к классу mainacctivity можно получить в том же классе, и, пожалуйста, скажите мне, как получить доступ к состоянию других классов или всего проекта.
class HamburgerIcon extends Component {
render() {
return (
<View style={{flexDirection: 'row'}}>
<TouchableOpacity onPress={this.toggleDrawer.bind(this)} >//I WANT TO ACCESS THE STATE DECLARED IN MainActivity CLASS
<Text> HOW TO ACCESS STATE OF MainActivity</Text>
</TouchableOpacity>
</View>
);
}
}
class MainActivity extends Component {
state={
a:'ABC',
}
constructor(props) {
super(props);
}
componentDidMount()
{
this.setState=({
a:"ABCD"
})
}
render()
{
return(
<View style = { styles.MainContainer }>
<Text> this.state.a </Text>
</View>
);
}
}
<TouchableOpacity onPress={this.toggleDrawer.bind(this)} >//I WANT TO ACCESS THE STATE DECLARED IN MainActivity CLASS
<Text> HOW TO ACCESS STATE OF MainActivity</Text>
</TouchableOpacity>
this IS htML OF CLASS HAMBURGERICON WHERE I WANT TO ACCESS THE STATE OF CLASS MAINACTIVTY
<View style = { styles.MainContainer }>
<Text> this.state.a </Text>
</View>
THIS IS MY HTML OF CLASS MAIN ACTIVITY WHERE I CAN ACCESS THE STATE A
1 ответ
Вы можете отправить свое состояние в качестве реквизита из MainActivity другим классам или функциональным компонентам. В вашем случае, например:
HamburgerIcon = (props) => {
return (
<View style={{flexDirection: 'row'}}>
<TouchableOpacity
onPress={this.toggleDrawer.bind(this)}
>
<Text>{props.item}</Text>
</TouchableOpacity>
</View>
);
}
class MainActivity extends Component {
constructor(props) {
super(props);
this.state = {
a: 'ABCD'
};
}
render()
{
return(
<View style = { styles.MainContainer }>
<Text> this.state.a </Text>
<HamburgerIcon item={this.state.a}/>
</View>
);
}
}