小编Osc*_*Fen的帖子

在子组件 React Native 中关闭模态

我在 react native 中有两个组件,我无法从我的子组件中关闭一个模态。

ListTrips - 家长

ModalAddTrip - 儿童

ListTrips.js

import ModalAddTrip from './ModalAddTrip';
....
....
this.state = {
    isModalAddTripVisible: false
} 
....
handleDismissModalAddTrip = () => {
    this.setState({ isModalAddTripVisible: false });
};

closeModal() {
    this.refs.ModalAdd.handleDismissModalAddTrip();
}
....

<ModalAddTrip
    ref="ModalAdd"
    isVisible={this.state.isModalAddTripVisible}
    onBackDropPress={this.handleDismissModalAddTrip}
    closeModal={() => this.closeModal()}
    onRequestClose={this.handleDismissModalAddTrip}
/>
Run Code Online (Sandbox Code Playgroud)

ModalAddTrip.js

<Modal
    isVisible={isVisible}
    onBackdropPress={onBackDropPress}
    closeModal={this.props.child}
>
<Button
    style={{ fontSize: 18, color: 'white' }}
    containerStyle={{
        padding: 8,
        marginLeft: 70,
    }}
    onPress={this.closeModal}
>
Run Code Online (Sandbox Code Playgroud)

一旦我打开它,我就无法关闭它。我知道它与引用/道具有关,但我已经搞砸了几个小时,我无处可去。我正在尝试this.props.closeModal;将引用切换到子组件的方法,但它也不起作用。在 ModalAddTrip 的函数中,但这也不起作用。

任何帮助是极大的赞赏。谢谢

modal-dialog ref react-native react-props

2
推荐指数
1
解决办法
3990
查看次数

标签 统计

modal-dialog ×1

react-native ×1

react-props ×1

ref ×1