我已经尝试使用这个示例代码在我的react native应用程序的警报对话框,但它给了我一个错误的对话框(我把***)说
TS2322: Type '{children: Element[];可见:布尔;onDismiss:()=比;无效;}'不能赋值给类型'IntrinsicAttributes &DialogProps"。属性'children'在类型上不存在"IntrinsicAttributes,DialogProps"。
当我运行应用程序,然后按下打开警报对话框按钮,我得到的错误在应用程序说渲染错误:usePortalContext必须在一个门户上下文中使用,我不确定这意味着什么。我用于我的对话框的代码只是直接复制和粘贴从这里的文档https://www.react-native-material.com/docs/components/dialog所以我不知道为什么它不工作
import React, {useState} from 'react';
import {
Button,
Dialog,
DialogHeader,
DialogContent,
DialogActions,
Text,
} from '@react-native-material/core';
const Dialog_ = () => {
const [visible, setVisible] = useState(false);
return (
<>
<Button
title="Open Alert Dialog"
style={{margin: 16}}
onPress={() => setVisible(true)}
/>
<Dialog*** visible={visible} onDismiss={() => setVisible(false)}>
<DialogHeader title="Dialog Header" />
<DialogContent>
<Text>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Earum
eligendi inventore, laboriosam laudantium minima minus nesciunt
pariatur sequi.
</Text>
</DialogContent>
<DialogActions>
<Button
title="Cancel"
compact
variant="text"
onPress={() => setVisible(false)}
/>
<Button
title="Ok"
compact
variant="text"
onPress={() => setVisible(false)}
/>
</DialogActions>
</Dialog>
</>
);
};
export default Dialog_;
我刚刚得到了同样的错误,仔细看了看这个例子,我看到应用程序被提供商组件包装:
const AppProvider = () => (
<Provider>
<App />
</Provider>
);
我在函数和导入部分中添加了Provider组件,然后对话框就正确显示了。