反应显示 findDOMNode 在带有 devextreme 数据网格的 StrictMode 中被弃用

问题描述

我们使用 devextreme dxdatagrid 来呈现数据,所有列和网格相关数据都来自 API 调用代码运行良好,但是当我们在浏览器上检查时,我们看到“在 StrictMode 中不推荐使用 findDOMNode。findDOMNode 被传递了一个 TemplateWrapper 的实例,它在 StrictMode 内。相反,直接向要引用的元素添加一个引用。了解更多关于在这里安全地使用 refs”。无法理解这里出了什么问题。以下是我们正在使用的代码片段。

function Queue() {
  const [queueData,setqueueData] = useState([]);
  const [dataSourceCols,setdataSourceCols] = useState([]);

  useEffect(() => {
    queueColService().then((res) => {
      setdataSourceCols(res.columns)
    });
  },[]);

  useEffect(() => {
    queueDataService().then((res) => {
      setqueueData(res);
    });


  },[]);

  function cellRender({ column,columnIndex,data,value }) {
    return <p>{value}</p>;
  }

  return (
    <> 
      <DataGrid
        id="dxGrid"
        dataSource={queueData}
        columnMinWidth={50}
        columnAutoWidth={true}
      >
        {dataSourceCols.map(function (item,i) {
          return (
            <Column
              key={i}
              datafield={item.datafield}
              visible={item.visible}
              caption={item.caption}
              cellRender={cellRender}
            />
          );
        })}
      </DataGrid>
    </>
  );
}

export default Queue;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)