Как отобразить компонент JSX из функции, чтобы показать его на экране.
Ниже приведен код, который не отображает компонент функции JSX ...
export default class HomeScreen extends Component{
state = {
isVisible:false
}
modal = ()=>{
return(<Text>Hello world</Text>);
}
render(){
return(
<View>
<Button onPress={this.setState({isVisible:true})}>Click me</Button>
{this.state.isVisible?this.modal:null}
</View>
);
}
}
И этот код ниже работает правильно, поэтому я хочу знать, что является ошибкой в первом.
export default class HomeScreen extends Component{
state = {
isVisible:false
}
modal = ()=>{
return(<Text>Hello world</Text>);
}
render(){
return(
<View>
<Button onPress={this.setState({isVisible:true})}>Click me</Button>
{this.state.isVisible?<Text>Hello world</Text>:null}
</View>
);
}
}
Итак, скажите, пожалуйста, в первом случае, что является проблемой, из-за которой текст hello world не рендерится через компонент JSX, возвращаемый из модальной функции.