我正在使用redux
存储区中的状态来切换我使用react-native-modal
制作的模态的可见性。在某些屏幕上,相同的模式完全可以正常工作,而在其他屏幕上则不能。
下面是我的代码
// Login.tsx
const Login: FunctionComponent<LoginProps> = ({navigation}) => {
...
const loginStatus = useSelector((state: IRootState) => state.authentication.loginStatus)
...
return (
<LoginErrorModal isVisible={loginStatus}/>
)
}
// LoginErrorModal.tsx
import Modal from 'react-native-modal'
type LoginErrorModalProps = {
isVisible: boolean;
}
const LoginErrorModal: FunctionComponent<LoginErrorModalProps> = ({isVisible}) => {
return (
<Modal isVisible={isVisible}>
<ModalContents />
</Modal>
)
}
我已检查状态isVisible
是否正在完全更新。我还看到isVisible
的状态即使在模式组件中也已成功更新。如果我设置isVisible
true
的初始值,则可以看到模态。但是,如果初始值为false,并且状态更新为true,则不会出现
当我也使用{Modal} from 'react-native'
时,它也不起作用。
请帮助!