Redux-React通过mapDispatchToProps方法传递对象

时间:2019-02-27 18:06:40

标签: javascript reactjs redux

我通过214和249行上的mapDispatchToProps方法传递一个对象。在214上执行的代码似乎很好,但是当我在249上执行相同的操作时,它会引发以下错误:

  

对象无效,不能作为React子对象(找到:键为{type,   声音})。

我不太了解这个错误,因为我是Redux的新成员并做出了反应。有人可以帮助我使用redux状态解决此问题,也许可以向我解释为什么它是错误的。非常感谢。

以下是代码的链接:

//link to codepen
https://codepen.io/roger1891/pen/LaYYaN

1 个答案:

答案 0 :(得分:1)

您将返回this.props.addSound(),它返回一个action creator对象,其唯一参数sound作为数据。在这种情况下,您要传递的唯一参数是mySoundList.localSoundList.map()。您可能只需要删除该功能...

return mySoundList.localSoundList.map((item) => {
      return (<div class="col-sm-4">
          <div id={item.btnId} class="btn btn-primary btn-sm drum-pad" onClick={this.clickButton} value={item.audioId}>
            {item.audioId}
            <audio id={item.audioId} class="clip" src={item.source} type={item.type}></audio>
          </div>
        </div>);                        
    });

除非您尝试通过ADD_Sound操作与更新的redux状态异步进行操作?