添加 mapDispatchToProps

参考文章 如何在非 React 项目中使用 Redux。完成下面代码中 TODO 部分,给 provider 添加 mapDispatchToProps 功能,可以类似于 React-redux 那样进行使用:

let renderHeader = (props) => {
  const $el = $(`<div>${props.header}</div>`)
  /* 可以从 props 中提取方法 */
  $el.on('click', props.handleClickHeader.bind(this, 'New Header'))
  $('#header').html($el)
}

let mapStateToProps = (state) => ({
  header: state.header
})

/* 需要支持下面的用法 */
let mapDispatchToProps = (dispatch) => ({
  handleClickHeader (header) {
    dispatch({ type: 'UPDATE_HEADER', header })
  }
})
renderHeader = connect(mapStateToProps, mapDispatchToProps)(renderHeader)

mapDispatchToProps 返回的对象会合并到 props 当中传给 render 函数。


使用第三方依赖
JavaScript
登录提交答案

与 的连接断开,我们正在尝试重连,请耐心等待