列表项编辑值中的ownProps消失

时间:2019-06-22 20:14:43

标签: reactjs redux

我的容器如下:

ItemContainer.js

const mapStateToProps = (state, ownProps) => () =>
  console.log('ownprops.edit is:', ownProps.edit) ||
  selectTaskItem(ownProps);

列表组件如下所示:

<Item
  item={item}
  edit={console.log('passing edit:', edit) || edit}
  key={item.id}
/>

它记录以下内容

List.js:22 passing edit: {1: {…}}
List.js:22 passing edit: {1: {…}}
List.js:22 passing edit: {1: {…}}
Item.js:6 ownprops.edit is: {}
Item.js:6 ownprops.edit is: {}
Item.js:6 ownprops.edit is: {}

有3个项目,因此它在List.js中记录了3次,在Item中记录了3次,但是日志之间的编辑消失了,我不知道它去了哪里。

1 个答案:

答案 0 :(得分:0)

在列表项中,您可以让mapStateToProps返回一个函数,但是在返回的函数中传递ownProps:

const mapStateToProps = () => (state, ownProps) =>
  console.log('ownprops.edit is:', ownProps.edit) ||
  selectTaskItem(ownProps);