我正在使用React中的一个组件。当状态
结构:
cloneMode
更改时,它的group
属性应该更新。为此,我正在使用以下代码:结构:
const DraggableElement = ({ list, setList, cloneMode }) => {
return (
<ReactSortable
group={
cloneMode
? { name: "tasks_group", pull: "clone" }
: "tasks_group"
}
key={cloneMode}
list={list}
setList={setList}
animation={200}
delay={1}
className="task-child_drag"
>
{list.map((e) => {
return <TaskItem key={e._id} task={e} />;
})}
</ReactSortable>
);
};
父元素:
const Tasks = () => {
const [cloneMode, setCloneMode] = useState(false);
return (
<div className="tasks">
<DraggableElement
list={todo}
setList={setTodo}
cloneMode={cloneMode}
/>
<DraggableElement
list={inProgress}
setList={setInProgress}
cloneMode={cloneMode}
/>
<DraggableElement
list={done}
setList={setDone}
cloneMode={cloneMode}
/>
</div>
);
};
我运行setCloneMode(true)
时,它没有影响到组件。你有什么想法如何实现它呢?
"tasks_group"
和{ name: "tasks_group", pull: "clone" }
在没有克隆模式的情况下是否正常工作吗?你能够手动更改组属性并确保ReactSortable
正常工作吗? - nimagroup={{ name: "tasks_group", pull: "clone" }}
和group={"tasks_group"}
都能正常工作,我是这个意思。 - nima