我正在构建一个包含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 = ??;
};
}
我想知道如何在importantData
中获得返回到PaymentsScreen
的{{1}}
谢谢
答案 0 :(得分:0)
您可以通过getParam
和setParam
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
可以解决您遇到的问题……但是我想这个用例通常由{{ 3}}或redux就像@爱迪生(Edison)在其评论中提到的...