📅  最后修改于: 2023-12-03 14:52:32.803000             🧑  作者: Mango
React Native 是一种用于开发移动应用程序的框架。在开发移动应用程序时,经常需要在屏幕之间共享数据。本文将介绍一些在 React Native 中传递值的方法。
react-navigation 是一个 React Native 库,用于创建和管理应用程序的屏幕导航。它允许您在屏幕之间传递参数和数据。以下是在两个屏幕之间传递值的示例:
this.props.navigation.navigate('ScreenB', { data: 'Hello from Screen A!' });
const { data } = this.props.route.params;
console.log(data); // output: "Hello from Screen A!"
Redux 是一个状态管理库,它允许您将应用程序的状态集中管理。通过在 Redux 存储中设置和获取数据,您可以在应用程序的任何部分共享数据。以下是在两个屏幕之间传递值的示例:
import { connect } from 'react-redux';
import { setData } from './actions';
class ScreenA extends React.Component {
onPressButton() {
this.props.setData('Hello from Screen A!');
}
render() {
return (
<Button title="Press Me" onPress={() => this.onPressButton()} />
);
}
}
const mapDispatchToProps = {
setData,
};
export default connect(null, mapDispatchToProps)(ScreenA);
import { connect } from 'react-redux';
class ScreenB extends React.Component {
render() {
return (
<Text>{this.props.data}</Text>
);
}
}
const mapStateToProps = (state) => ({
data: state.data,
});
export default connect(mapStateToProps)(ScreenB);
本文介绍了两种在 React Native 中传递值的方法:使用 react-navigation 和使用 Redux。这两种方法都可以让您在屏幕之间共享数据和参数。具体使用哪种方法取决于应用程序的具体需求。这些方法也可以组合使用。