在对话框上强制刷新之前,请在与反应的二元格组件显示之前



我正在使用https://github.com/jacklam718/reaeact-native-dialog-component用于我的对话框,并且我在异步函数上遇到一些问题,而不是刷新对话框。我在示例中使用

的示例中使用它
 render() {
    return (
        ...
        <Button onItemPressed={(item) => {
                    this.completeMovementDialog.show()
                }}/>}
        ...
        <CompleteMovementDialog onRefresh={() => this.getStationsNearToPlayer()}
                        ref={(completeMovementDialog) => {
                                this.completeMovementDialog = completeMovementDialog;
                            }}/>

完整的Dialog使用componentDidMount()中的onrefresh方法,是DialogComponent的包装器。当我刷新列表时,它可以正常工作,这是由this.getStationsNearToPlayer()从后端检索的。问题在于,一旦加载了该组件,CompleteMovementDialog组件就会加载。因此,当我调用this.startMovementDialog.show()时,它不再进入componentDidMount,除非您手动刷新它,否则列表永远不会刷新。有人有提示吗?我如何在show()之前预测列表刷新列表?还是有更好的库可以显示对话框?我听说ref不是一个好习惯...

对于某人绊倒的人:

DialogComponent提供onShownonDismissed属性,您可以在其中传递一个函数,这可以是API调用。我通过将数据加载到onShown回调中,然后再次将视图设置为加载模式,然后将视图设置为"对话框"并进行onDismissed回调。

相关内容

  • 没有找到相关文章

最新更新