在 2 个选项卡之间传递数据



我正在构建一个包含TabNavigator的应用程序。如何在第一个屏幕中启动我在第二个屏幕中也需要的数据。我想知道在这些屏幕之间传递参数的最佳方法是什么

我尝试使用第一个屏幕中的Navigation.setParams(),但在第二个屏幕中我没有得到它。

const PaymentsStack = createStackNavigator({
        Payments: {
            screen: PaymentsScreen
        }
    }
);
const GraphsStack = createStackNavigator({
    Graphs: GraphsScreen
});
createBottomTabNavigator({
    PaymentsStack,
    GraphsStack
});
class PaymentsScreen extends Component {
    async componentDidMount() {
        const importantData = await GetDataFromServer();
    };
}
class GraphsScreen extends Component {
    async componentDidMount() {
        const importantData = ??;
    };
}

我想知道如何获得在GraphsScreen中返回PaymentsScreenimportantData

谢谢

你可以

通过getParamsetParam来实现这一点

class PaymentsScreen extends Component {
    async componentDidMount() {
        const importantData = await GetDataFromServer();
        this.props.navigation.setParams({ importantData });
    };
}

class GraphsScreen extends Component {
    async componentDidMount() {
        const importantData = this.props.navigation.getParam('importantData');
    };
}

getParam & getParam 可以在您的问题中解决问题......但我想这个用例通常由流行的全局状态管理工具之一管理,例如 redux 或未声明,如他的评论中@Edison提到的那样......

相关内容

  • 没有找到相关文章

最新更新