如何在 React Native 中将布尔值从孩子传递给父母?

时间:2021-03-29 13:00:00

标签: javascript react-native react-hooks

我正在使用模态发出自定义警报,当我到达屏幕时,这工作正常,但是当我单击按钮关闭我的警报时,我无法将布尔值传递给我的父级。 Obs:警报关闭,但我需要传递布尔值,以便能够在我的父组件中再次引发警报。 这是我的父组件中的代码(我可以在这里将数据传递给我的孩子):

    const [visible, setVisible] = useState(true);
    const [value, setValue] = useState(0)

    const raiseAlert = (visible) => {
        setVisible(true);
        setValue(2)
        // this.setState(({ visible }) => ({ visible: !visible }))
    };

    const edit = () => {
        setVisible(!visible);
        setValue(1)
    };

    console.log(visible)
    
    return(
        <View style={styles.screen}>

            <Button
                onPress={() => raiseAlert()}
                title="Connect"
            />

            <Button 
                title= "Configure WiFi"onPress={() => edit()} 
                
            />

子组件:

const TipsAlert = (props) => {
    const [visible, setVisible] = useState(props.visible);

    const closeAlert = (visible) => {
        setVisible(false);<================ HOW CAN I PASS THIS BOOL to my Parent <========
        // this.raiseAlert(this.props.visible)
        // this.raiseAlert(this.props(false))
    } 
    return(
        <View style={styles.centeredView}>
            <Modal
                animationType = "slide"
                transparent = {true}
                visible= {visible}
            >
                <View style={styles.centeredView}>
                    <View style={styles.modalView}>

                        <TouchableOpacity
                            style={styles.exitContainer}
                            onPress={() => {
                                closeAlert();
                            }}
                        >
                        </TouchableOpacity>
                    </View>
                </View>
            </Modal>
        </View>
    );


0 个答案:

没有答案