如何使用Actions对来自另一个屏幕的屏幕中的函数调用本机路由器通量

时间:2018-03-03 10:42:52

标签: react-native react-native-router-flux

您好我的项目中有2页。当我从第一页到第二页(使用Action)时,我返回第一页,使用命令Action.pop(),此时我想要在第一页调用函数,我该怎么办?

在第一页:

.....
BacktoFirstPage(){
    //my code
}
render(){
    return(
        <TouchableOpacity onPress={()=>Actoin.secondPage()}>
            <Text>go to second page</Text>
        </TouchableOpacity>
    )
.....

在第二页:

render(){
    return(
        <TouchableOpacity onPress={()=>Actoin.pop()}>
            <Text>back to first page</Text>
        </TouchableOpacity>
    )
}

现在,如何调用BacktoFirstPage

1 个答案:

答案 0 :(得分:2)

您可以做的是将您想要作为参数运行的功能传递到下一个屏幕,然后在弹出屏幕之前运行它。

示例

    rv= (RecyclerView) findViewById(R.id.rv);
rv.setLayoutManager(new LinearLayoutManager(this));
rv.addOnItemTouchListener(
                new RecyclerItemClickListener(this, rv ,new RecyclerItemClickListener.OnItemClickListener() {
                    @Override public void onItemClick(View view, int position) {
                        // do whatever


                    }
                    @Override public void onLongItemClick(View view, int position) {
                        // do whatever
                    }
                })
        );
....
BacktoFirstPage(){
    //my code
}
render(){
    return(
        <TouchableOpacity onPress={()=>Actoin.secondPage({onPop: this.BacktoFirstPage.bind(this)})}>
            <Text>go to second page</Text>
        </TouchableOpacity>
    )
.....

render(){
    return(
        <TouchableOpacity onPress={()=>{ this.props.onPop(); Actoin.pop()}>
            <Text>back to first page</Text>
        </TouchableOpacity>
    )
}