我已经从react-google-login
登录。我需要将电子邮件从一个名为Login
的组件传递到另一个名为User
的组件(用户应在其中查看其电子邮件)。
class Login extends React.Component {
constructor(props) {
super(props);
this.state = {
email: "",
redirecting: false,
};
}
render() {
const responseGoogleSuccess = (response) => {
this.setState({ email: response.profileObj.email });
this.setState({ redirecting: true });
};
return (
<div>
<GoogleLogin
clientId="myclientid"
buttonText="Log in"
onSuccess={responseGoogleSuccess}
cookiePolicy={"single_host_origin"}
/>
{this.state.redirecting ? <Redirect to="/user" /> : null}
</div>
);
}
}
答案 0 :(得分:1)
您必须将email
状态移到common
和Login
组件的User
父级,或者使用上下文API,您可以在{{ 3}},实现您所想的最困难的方法是使用redux,这是一种状态管理
答案 1 :(得分:1)
您有很多方法可以解决此问题。
1。<Redirect to={/user/${this.state.email}} />
您可以使用this.props.match.params.email
在用户组件中访问此电子邮件2。您可以将电子邮件存储在redux存储中,并在用户组件中进行访问。
3。您可以使用上下文api。