请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如何使用payload传值

老师你好:

我在复习redux的时候在 action 处定义了 payload。

在 reducer 的返回处写的 是 诸如 return state + action.payload 的语句。


app.js 当中 我手动dispatch的时候可以这样传值,如下:

<button onClick={() => store.dispatch(this.props.propAdd(2))}>加</button>


----分割线----

而如果我使用了 @connect,在 button标签处传值等等均会报错。向下面这样写 也会报错

@connect(

  // 你要state什么属性放到props里

  state=>({states: state}),

  // 你要什么方法,放到props里,自动dispatch

  {addCounter: addCounter(2), removeCounter, chengCounter, chuCounter}

)

我想知道,通过 react-redux 这种方式写的时候 怎么传入 payload。。。


正在回答

1回答

你看下我们视频的内容,connect第二个参数传递的函数直接调用,会自动dispatch,然后把payload修改到state里,通过connect的第一个参数就可以获取了 比如你看下我们的用户列表或者用户中心页面 ,数据都是通过redux管理的

0 回复 有任何疑惑可以回复我~
  • 提问者 aznmoe #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-11-18 16:40:46
  • 提问者 aznmoe #2
    我解决了。
    既是在 onClick 的时候 用 箭头函数承载一下就可以了。我之前是直接 写成了  <button onClick={store.dispatch(this.props.propAdd(2))}>加</button> 这种方式,
    执行的时候自然是onClick了一个对象(action)而非函数。实际上是下面的方式就没问题了。
    <button onClick={() => store.dispatch(this.props.propAdd(2))}>加</button>
    回复 有任何疑惑可以回复我~ 2017-11-18 16:40:59
问题已解决,确定采纳
还有疑问,暂不采纳
Redux+React Router+Node.js全栈开发
  • 参与学习       1822    人
  • 解答问题       750    个

全网唯一的React 16+Redux+React Router4实战课程,学到手是你的真本领!

了解课程
意见反馈 帮助中心 APP下载
官方微信