传播者在Redux [英] Spread Operators in Redux

查看:86
本文介绍了传播者在Redux的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在reducer中使用扩展运算符,但是它返回了无效的语法错误。我的构建支持使用扩展运算符,因为我只能在我的reducer中得到错误。

I am trying to use the spread operator in my reducers, but it is coming back with an invalid syntax error. My build supports the use of the spread operator as I only get the error in my reducers.

auth_types.js

auth_types.js

export const AUTH_USER = 'AUTH_USER'
export const UNAUTH_USER = 'UNAUTH_USER'

auth_actions.js

auth_actions.js

import { AUTH_USER, UNAUTH_USER } from './auth_types'



   export function signinUser({ email, password }) {
      return function(dispatch) {
        axios.post(`${ROOT_URL}/signin`, { email, password })
          .then(response => {
            dispatch({ type: AUTH_USER })

            browserHistory.push('/feature')
          })
      }
    }

reducer.js

reducer.js

import { AUTH_USER, UNAUTH_USER } from '../actions/auth_types'

export default function(state = {}, action) {
  switch(action.type) {
    case AUTH_USER:
      return { ...state, authenticated: true }
    case UNAUTH_USER:
      return { ...state, authenticated: false }
  }

  return state
}


推荐答案

文档


由于对象传播语法仍然是ECMAScript的第2阶段提议,您需要使用诸如Babel的透析器在生产中使用它。您可以使用现有的es2015预设,安装 babel-plugin-transform-object-rest-spread 并单独添加到您的 .babelrc 中的插件数组。

Since the object spread syntax is still a Stage 2 proposal for ECMAScript you’ll need to use a transpiler such as Babel to use it in production. You can use your existing es2015 preset, install babel-plugin-transform-object-rest-spread and add it individually to the plugins array in your .babelrc.



{
  "presets": ["es2015"],
  "plugins": ["transform-object-rest-spread"]
}




请注意,这仍然是一个实验性语言功能提案,因此它可能会在未来。

Note that this is still an experimental language feature proposal so it may change in the future.

这篇关于传播者在Redux的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆