Reactjs React redux中的本机存储值

Reactjs React redux中的本机存储值,reactjs,react-native,react-redux,react-navigation,Reactjs,React Native,React Redux,React Navigation,我想将电子邮件存储在redux应用商店中,但我无法这样做。这是我的登录组件和redux应用商店。如果我正在使用react导航,请提供任何帮助 我的Dispatch方法在初始加载时被调用,并且在电子邮件输入的每个按键上都被调用,我希望它只在点击continue按钮时被调用 我需要一种方法来存储在商店的电子邮件,并检索它在其他一些屏幕后 SignUp.js 您正在对每个渲染调用this.props.onSingUp方法 尝试在处理程序中包装调用方法: handleRightButton = () =

我想将电子邮件存储在redux应用商店中,但我无法这样做。这是我的登录组件和redux应用商店。如果我正在使用react导航,请提供任何帮助

我的Dispatch方法在初始加载时被调用,并且在电子邮件输入的每个按键上都被调用,我希望它只在点击continue按钮时被调用

我需要一种方法来存储在商店的电子邮件,并检索它在其他一些屏幕后

SignUp.js
您正在对每个渲染调用
this.props.onSingUp
方法
尝试在
处理程序中包装调用
方法:

handleRightButton = () => {
  this.props.onSignUp(this.state..controls.email.value, this.props.navigation);
}

// And on render 
render() {
  ...
  rightButtonHandler={this.handleRightButton}
  ...
}
navigation.goBack()}
rightButtonHandler={(事件)=>{
event.preventDefault();
this.props.onSignUp(stateData.controls.email.value,navigation)
/>
尝试在rightButtonHandler中添加event.preventDefault()。

问题在于,我试图以错误的方式访问商店,而我正试图使用此工具

import state from '../store/reducers';

const Email = state.email;
但是,访问存储的正确方法,可能也是唯一的方法是使用MapStateTops

const mapStateToProps = state => ({
  email: state.email,
});

这不是关于防止默认值,因为它根本不是同一个事件,但对于您的答案来说,调用包装在事件处理程序函数中这一事实可以修复它,但是您应该避免在渲染阶段创建函数的方式这确实部分解决了我的问题。现在,我只能在单击“继续”按钮时调用dispatch方法,但它是在没有更新商店之前,我无法帮助您,我假设您的页脚组件正常工作,但如果没有,这是另一个问题您需要共享您的
footer
组件,因为根据我掌握的信息,我不知道其中发生了什么
<Footer
    leftButtonHandler={() => navigation.goBack()}
    rightButtonHandler={(event) => {
            event.preventDefault();
         this.props.onSignUp(stateData.controls.email.value,navigation)
/>
Try adding the event.preventDefault() in the rightButtonHandler.
import state from '../store/reducers';

const Email = state.email;
const mapStateToProps = state => ({
  email: state.email,
});