如何使用我的可见道具从不同的组件文件打开Modal,该道具在isVisible内部传递,带有一些状态和按钮。现在模态没有打开。我正在使用react本机模态(https://github.com/react-native-modal/react-native-modal)
type ModalProps = {
visible: boolean;
};
export function Modal({ visible }: ModalProps) {
return (
<ReactNativeModal isVisible={visible} >
<Pressable>
<Icon size={14} name="icon1" />
</Pressable>
</ReactNativeModal>
);
}
调用不同文件中的组件
const [isModalVisible, setModalVisible] = React.useState(false);
function handleModalClose() {
setModalVisible(false);
}
function handleModalOpen() {
setModalVisible(true);
}
<Button title="Modal one" onPress={handleModalOpen}>
<Modal visible={isModalVisible}></Modal>
</Button>
您应该将isModalVisible
作为visible
道具传递给Modal
组件:
<Modal visible={isModalVisible}></Modal>
如果需要从Modal
组件关闭模态,还可以传递setModalVisible
函数:
type ModalProps = {
visible: boolean;
setModalVisible: React.Dispatch<React.SetStateAction<boolean>>;
};
export function Modal({ visible, setModalVisible }: ModalProps) {
const handleClose = () => {
setModalVisible(false);
}
...