创建模态对象需要帮助处理isVisible状态

时间:2019-09-18 01:21:32

标签: react-native state react-native-modal

我目前正在尝试使用react-native-modal这样的方式创建Modal对象

const ModalExample = (props) => {
    return (
        <Modal isVisible={props.isVisible}>
               <Text>Hello!</Text>
               <Button title="Hide modal" onPress={this.setModalVisibility} />
        </Modal>
    )
}

问题在于onPress应该将状态从true更改为false,但无法访问该类中的状态。 这是用于初始化模态以及我如何调用对象的按钮:

<Button title="Show modal" onPress={this.setModalVisibility} />
<ModalExample isVisible={this.state.modalVisible}/>

以防万一,这是我在类内的setModalVisibility

setModalVisibility = () =>{
     this.setState({modalVisible: !this.state.modalVisible})
}

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您还需要传递函数,

<ModalExample isVisible={this.state.modalVisible} setModalVisibility={this.setModalVisibility}/>

以模式调用该函数

const ModalExample = (props) => {
    return (
        <Modal isVisible={props.isVisible}>
             <Text>Hello!</Text>
             <Button title="Hide modal" onPress={props.setModalVisibility} />
        </Modal>
    )
}

注意:您无权访问功能组件中的this