Javascript 常量中声明的组件上的道具不工作/无法识别(reactjs、reactdnd)

Javascript 常量中声明的组件上的道具不工作/无法识别(reactjs、reactdnd),javascript,reactjs,react-dnd,Javascript,Reactjs,React Dnd,此代码用于我的仪表板。最初我把它们放在一个单独的div中(直接调用每个组件),道具工作正常,似乎没有问题。现在,我做了一个更新,其中每个组件都应该是可拖动的。在为Dragable特性添加了一段代码之后,我注意到每个组件的道具都不再工作了 出于所有目的,我还包括了一个直接包含组件的div(id为“nondraggable”),以表明道具确实可以工作,而在第二个div(id=“draggable”)中,道具似乎无法识别 import React, { useState } from "re

此代码用于我的仪表板。最初我把它们放在一个单独的div中(直接调用每个组件),道具工作正常,似乎没有问题。现在,我做了一个更新,其中每个组件都应该是可拖动的。在为Dragable特性添加了一段代码之后,我注意到每个组件的道具都不再工作了

出于所有目的,我还包括了一个直接包含组件的div(id为“nondraggable”),以表明道具确实可以工作,而在第二个div(id=“draggable”)中,道具似乎无法识别

import React, { useState } from "react";
import { DragDropContext, Droppable, Draggable } from "react-beautiful-dnd";
import _ from "lodash";
import { v4 } from "uuid";   

function NewsFeed(props) {
 const RecentTran = {
    id: v4(),
    name: (
      <div>
        <RecentTransactions arrangeDashboard={props.arrangeDashboard} />
      </div>
    ),
  };

 const TranType = {
    id: v4(),
    name: (
      <TransactionType transactionTypeDisplay={props.transactionTypeDisplay} />
    ),
  };

  const [state, setState] = useState({
    todo: {
      items: [RecentTran],
    },
    "in-progress": {
      items: [TranType],
    },
  });

  const handleDragEnd = ({ destination, source }) => {
    if (!destination) {
      return;
    }

    if (
      destination.index === source.index &&
      destination.droppableId === source.droppableId
    ) {
      return;
    }

    const addItem = () => {
      setState((prev) => {
        return {
          ...prev,
          todo: {
            title: "Todo",
            items: [
              {
                id: v4(),
                name: text,
              },
              ...prev.todo.items,
            ],
          },
        };
      });

      setText("");
    };

    // Creating a copy of item before removing it from state
    const itemCopy = { ...state[source.droppableId].items[source.index] };

    setState((prev) => {
      prev = { ...prev };
      // Remove from previous items array
      prev[source.droppableId].items.splice(source.index, 1);

      // Adding to new items array location
      prev[destination.droppableId].items.splice(
        destination.index,
        0,
        itemCopy
      );

      return prev;
    });
  };

return(
<div>
 <div id="nondraggable" style={{ display: "flex" }}>
        <TranType />
        <RecentTran />
      </div>

<div  id="draggable"  style={{ display: "flex" }} className="App">
        <DragDropContext onDragEnd={handleDragEnd}>
          {_.map(state, (data, key) => {
            return (
              <div key={key} className={"column"}>
                <h3>{data.title}</h3>
                <Droppable droppableId={key}>
                  {(provided, snapshot) => {
                    return (
                      <div
                        ref={provided.innerRef}
                        {...provided.droppableProps}
                        className={"droppable-col"}
                      >
                        {data.items.map((el, index) => {
                          return (
                            <Draggable
                              key={el.id}
                              index={index}
                              draggableId={el.id}
                            >
                              {(provided, snapshot) => {
                                console.log(snapshot);
                                return (
                                  <div
                                    className={`item ${
                                      snapshot.isDragging && "dragging"
                                    }`}
                                    ref={provided.innerRef}
                                    {...provided.draggableProps}
                                    {...provided.dragHandleProps}
                                  >
                                    {el.name}
                                  </div>
                                );
                              }}
                            </Draggable>
                          );
                        })}
                        {provided.placeholder}
                      </div>
                    );
                  }}
                </Droppable>
              </div>
            );
          })}
        </DragDropContext>
      </div>

</div> 
)

}
import React,{useState}来自“React”;
从“dnd”导入{DragDropContext,dropable,Draggable};
从“洛达斯”进口;
从“uuid”导入{v4};
功能新闻源(道具){
常数最近传输={
id:v4(),
姓名:(
),
};
常量传输类型={
id:v4(),
姓名:(
),
};
常量[状态,设置状态]=使用状态({
待办事项:{
项目:[最近交易],
},
“进行中”:{
项目:[传输类型],
},
});
const handleDragEnd=({目的地,源})=>{
如果(!目的地){
返回;
}
如果(
destination.index==source.index&&
destination.droppableId==源.droppableId
) {
返回;
}
常量附加项=()=>{
设置状态((上一个)=>{
返回{
…上一页,
待办事项:{
标题:“待办事项”,
项目:[
{
id:v4(),
名称:文本,
},
…上一个待办事项,
],
},
};
});
setText(“”);
};
//在将项目从状态中删除之前创建项目的副本
const itemCopy={…state[source.droppableId].items[source.index]};
设置状态((上一个)=>{
prev={…prev};
//从以前的项目数组中删除
prev[source.droppableId].items.splice(source.index,1);
//添加到新项目数组位置
prev[destination.droppableId].items.splice(
目的地索引,
0,
项目副本
);
返回上一个;
});
};
返回(
{{{.map(状态,(数据,键)=>{
返回(
{data.title}
{(已提供,快照)=>{
返回(
{data.items.map((el,index)=>{
返回(
{(已提供,快照)=>{
控制台日志(快照);
返回(
{el.name}
);
}}
);
})}
{提供的.占位符}
);
}}
);
})}
)
}