gpt4 book ai didi

javascript - 创建拖放卡时无法读取未定义的属性 'map'

转载 作者:行者123 更新时间:2023-12-02 22:56:24 26 4
gpt4 key购买 nike

我使用库:https://github.com/clauderic/react-sortable-hoc

我正在尝试实现这种效果:/image/WGQfT.jpg

此处演示:https://stackblitz.com/edit/react-r7hzxk

我将 this.state.item ['lists'] 移动到组件 SortableList。在组件 SortableList 想要迭代 items.listItems.map 但我有错误:

Cannot read property 'map' of undefined

import {SortableContainer, SortableElement} from 'react-sortable-hoc';
import arrayMove from 'array-move';


const SortableItem = SortableElement(({value}) => <li>{value}</li>);

const SortableList = SortableContainer(({items}) => {
return (
<ul>
{items.listItems.map((value, index) => (
<SortableItem key={`item-${value.id}`} index={index} value={value.id} />
))}
</ul>
);
});

class App extends Component {
constructor() {
super();
this.state = {
item: {
id: "abc123",
name: "AAA",
lists: [
{
id: "def456",
list_id: "654wer",
title: 'List1',
desc: "description",
listItems: [
{
id: "ghj678",
title: "ListItems1",
listItemsId: "88abf1"
},
{
id: "poi098",
title: "ListItems2",
listItemsId: "2a49f25"
}
]
},
{
id: "1ef456",
list_id: "654wer",
title: 'List 2',
desc: "description",
listItems: [
{
id: "1hj678",
title: "ListItems3",
listItemsId: "18abf1"
},
{
id: "1oi098",
title: "ListItems4",
listItemsId: "1a49f25"
}
]
},
{
id: "2ef456",
title: 'List 3',
list_id: "254wer",
desc: "description",
listItems: [
{
id: "2hj678",
title: "ListItems5",
listItemsId: "28abf1"
},
{
id: "2oi098",
title: "ListItems6",
listItemsId: "234a49f25"
}
]
}
]
}
};
}

onSortEnd = ({oldIndex, newIndex}) => {
this.setState(({lists}) => ({
lists: arrayMove(lists, oldIndex, newIndex),
}));
};

render() {
return <SortableList items={this.state.item['lists']} onSortEnd={this.onSortEnd} />;
}
}

最佳答案

您需要首先迭代 items 数组,并且不要忘记返回结果:

    items.map(item => 
item.listItems.map((value, index) =>
<SortableItem key={`item-${value.id}`} index={index} value={value.id} />
)
)

关于javascript - 创建拖放卡时无法读取未定义的属性 'map',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57956688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com