我正在开发一个React Native应用程序。我使用modal
创建了自己的自定义alert
作为component
。当我使用它时,我总是需要在我的render()
函数中添加我的alert
组件。
有没有什么方法可以使用自定义警报,而不用在我的render()
函数中渲染它?
我的意思是,我可以在react-native
中使用Alert
,将其称为Alert.alert()
。我想用我自己的自定义警报也一样。
我该怎么做?
我正在开发一个React Native应用程序。我使用modal
创建了自己的自定义alert
作为component
。当我使用它时,我总是需要在我的render()
函数中添加我的alert
组件。
有没有什么方法可以使用自定义警报,而不用在我的render()
函数中渲染它?
我的意思是,我可以在react-native
中使用Alert
,将其称为Alert.alert()
。我想用我自己的自定义警报也一样。
我该怎么做?
5条答案
按热度按时间kx5bkwkv1#
你能做到的
为了展示你可以在任何地方做
SomeComponent.show("some text")
5q4ezhmt2#
使方法保持静态。
用法
qoefvg9y3#
Alert.alert()
调用本机代码。如果要显示自定义警报组件,则需要将其添加到渲染方法中。最简单的方法是将它放在根组件或其他父组件中。设置要有条件显示的元件。创建一个方法来设置条件。可以将此方法传递给子组件。
您可以调用
this.props.alertToggle(true)
来显示父级中的警报组件。EDIT:由于您使用modal创建了组件,因此可以将display布尔值传递给CustomAlert组件,并在组件中触发modal。
<CustomAlert displayAlert={this.state.displayAlert} />
将自定义警报放在父级中的想法是相同的。fhg3lkii4#
您也可以使用此API react-native-popup-dialog来设计您的警报。
我个人是这么做的:
家长:
我希望这会有所帮助。
vzgqcmou5#
正如我所理解的,你希望你的模态以无状态的方式处理。遗憾的是,没有渲染Modal是无法做到的,但是你可以在应用渲染树之外添加一个虚拟div并在函数调用中使用渲染来操纵它的dom。
然后用handler为modal创建示例:
然后,你可以在任何你喜欢的地方使用调用,而不会扰乱应用的渲染树:
示例: