【问题标题】:How to push data in object?如何在对象中推送数据?
【发布时间】:2020-07-16 20:05:11
【问题描述】:

我在我的 React 应用程序中使用 Redux,我需要将数据放入对象(使用操作)。

我有这样的reducer和action:

        case GET_USER_DATA: {
            return {
                ...state,
                user: action.value // user - is object
            }
        }

//my action
        export const getUserData = (value) => ({type: 'GET_USER_DATA',value})

然后我需要使用操作将数据放入我的 Redux 状态,但它不起作用,谁能解释我如何做到这一点?

功能:

    authListener() {
        fire.auth().onAuthStateChanged((user) => {
          console.log(user);
          if (user) {
            getUserData(user) // I need to put it here
            localStorage.setItem('user', user.uid);
          } else {
            getUserData(null)
            localStorage.removeItem('user');
          }
        });
      }

【问题讨论】:

    标签: javascript reactjs firebase object redux


    【解决方案1】:

    你有没有在mapDispatchToProps中加入这个函数,让它可以获取dispatch函数,调用reducer?

    const mapStateToProps = (state: any) => {
        return {
            //any data from state
        };
    };
    
    function mapDispatchToProps(dispatch: any) {
        return bindActionCreators({
            getUserData
        }, dispatch);
    }
    
    export default connect(mapStateToProps, mapDispatchToProps)(YOUR_COMPONENT_NAME);
    

    您现在可以将函数调用为

    props.getUserData(user);
     
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 2020-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      相关资源
      最近更新 更多