Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react native:将警报更改为模态的方法是什么?_Javascript_Reactjs_React Native_React Hooks_Modal Dialog - Fatal编程技术网

Javascript react native:将警报更改为模态的方法是什么?

Javascript react native:将警报更改为模态的方法是什么?,javascript,reactjs,react-native,react-hooks,modal-dialog,Javascript,Reactjs,React Native,React Hooks,Modal Dialog,将警报更改为模态的方法是什么? 在我的示例中,我尝试进行更改,但它说它不知道item.codeName,也不知道setModalVisible,modalVisible。 我很乐意支持这个问题 function firstButton(item) { Alert.alert({item.codeName}, [{ text: 'ok, style: 'cancel', onPress: async () => { } }], { cancelable: fa

将警报更改为模态的方法是什么? 在我的示例中,我尝试进行更改,但它说它不知道
item.codeName
,也不知道
setModalVisible
modalVisible
。 我很乐意支持这个问题

function firstButton(item) {
    Alert.alert({item.codeName},
      [{ text: 'ok, style: 'cancel', onPress: async () => { } }],
      { cancelable: false });
  }
对此模式:

 function firstButton(item) {
    return (
        <View style={styles.centeredView}>
            <Modal animationType="slide" transparent={true} visible={modalVisible}>
                <View style={styles.centeredView}>
                    <View style={styles.modalView}>
                        <Text style={styles.modalText}>
                            {item.codeName}
                        </Text>

                        <View
                            style={{
                                flexDirection: 'row',
                                justifyContent: 'space-evenly',
                                alignContent: 'space-between',
                            }}
                        >
                            <TouchableWithoutFeedback
                                onPress={() => {
                                    setModalVisible(!modalVisible);
                                }}
                            >
                                <View style={{ top: 20, marginHorizontal: 10 }}>
                                    <LinearGradient
                                        colors={['#4c669f', '#3b5998', '#192f6a']}
                                        style={{
                                            borderRadius: 40,
                                            elevation: 10,
                                            paddingHorizontal: 40,
                                            paddingVertical: 10,
                                        }}
                                    >
                                        <Text style={styles.textStyle}>ok</Text>
                                    </LinearGradient>
                                </View>
                            </TouchableWithoutFeedback>

                            <TouchableWithoutFeedback
                                onPress={() => {
                                    setModalVisible(!modalVisible);
                                }}
                            >
                                <View style={{ top: 20, marginHorizontal: 10 }}>
                                    <LinearGradient
                                        colors={['#4c669f', '#3b5998', '#192f6a']}
                                        style={{
                                            borderRadius: 40,
                                            elevation: 10,
                                            paddingHorizontal: 40,
                                            paddingVertical: 10,
                                        }}
                                    >
                                        <Text style={styles.textStyle}>cancel</Text>
                                    </LinearGradient>
                                </View>
                            </TouchableWithoutFeedback>
                        </View>
                    </View>
                </View>
            </Modal>
        </View>
    );
};
功能第一按钮(项目){
返回(
{item.codeName}
{
setModalVisible(!modalVisible);
}}
>
好啊
{
setModalVisible(!modalVisible);
}}
>
取消
);
};

对于
modalVisible
setModalVisible
您需要定义一个反应状态,如-

用于功能组件

然后,当希望在屏幕上显示模式时,使用
setModalVisible
modalVisible
的值更改为
true


对于
项目.code名称
-请共享
项目
结构。但是,如果您使用
firstButton
作为组件,然后分解您的道具,请使用
function firstButton({item})
,否则它应该可以正常工作。

我按照您所说的做了,但它给出了一个错误:undefined不是一个对象(评估'item.codeName')@MariaJ,如果您向我们展示如何调用firstButton,这会很有帮助。如果它无法识别物品,则可能您没有将任何内容传递给firstButton。我同意@garjted。好的,您可以看到以下零食:
const [modalVisible, setModalVisible] = React.useState(false);