我通过214和249行上的mapDispatchToProps方法传递一个对象。在214上执行的代码似乎很好,但是当我在249上执行相同的操作时,它会引发以下错误:
对象无效,不能作为React子对象(找到:键为{type, 声音})。
我不太了解这个错误,因为我是Redux的新成员并做出了反应。有人可以帮助我使用redux状态解决此问题,也许可以向我解释为什么它是错误的。非常感谢。
以下是代码的链接:
//link to codepen
https://codepen.io/roger1891/pen/LaYYaN
答案 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状态异步进行操作?