我试图从登录和注册传递值到 Jmeter 板,因为标志是一个唯一的组件,我不知道如何从登录和注册传递日志,有人能帮助吗
签名.js
export default function Sign({navigation}) {
async function onGoogleButtonPress() {
await GoogleSignin.hasPlayServices();
const userInfo = await GoogleSignin.signIn();
setuserInfo(userInfo);
navigation.navigate('dash', {userInfo});
}
return (
<View style={styles.prheight}>
<View style={styles.buttonw}>
<GoogleSigninButton
style={{width: 192, height: 48}}
size={GoogleSigninButton.Size.Wide}
color={GoogleSigninButton.Color.Light}
onPress={onGoogleButtonPress}
// disabled={this.state.isSigninInProgress}
/>
</View>
</View>
);
}
注册.js
export default function Register(props) {
return (
<View style={styles.prheight}>
<View style={styles.buttonw}>
<Sign navigation={props.navigation} log={name:"register"} />
</View>
</View>
);
}
登入
export default function login(props) {
return (
<View style={styles.prheight}>
<View style={styles.buttonw}>
<Sign navigation={props.navigation} log={name:"login"} />
</View>
</View>
破折号.js
export default function dash(props) {
const [text, setTextbaby] = useState();
const {userInfo} = props?.route?.params;
console.log(props.log);
2条答案
按热度按时间qf9go6mv1#
您应该在Sign组件中传递
log
prop,并像这样处理它。毕竟,
log
将位于props.route.params
对象内部UPDATED:使用双括号(以便传递对象)
gcuhipw92#
我们可以通过
async-storage
react-navigation
将值从一个屏幕传递到另一个屏幕,或者全局声明一个值。要将值从登录传递到 Jmeter 板,我建议您查看此async-storage Docs https://react-native-async-storage.github.io/async-storage/docs/installasync-storage将值存储在应用程序中,而React navigation不将值存储在应用程序中,React navigation只是将值从一个屏幕传输到另一个屏幕。react navigation Docs https://reactnavigation.org/docs/navigating/将值从一个组件传输到另一个组件