参考钩子

useNodesInitialized

GitHub 上的源代码

此钩子告诉你流中的所有节点是否都已测量并获得了宽度和高度。当你向流中添加节点时,此钩子将返回 false,然后在节点被测量后再次返回 true

import { useReactFlow, useNodesInitialized } from '@xyflow/react';
import { useEffect, useState } from 'react';
 
const options = {
  includeHiddenNodes: false,
};
 
export default function useLayout() {
  const { getNodes } = useReactFlow();
  const nodesInitialized = useNodesInitialized(options);
  const [layoutedNodes, setLayoutedNodes] = useState(getNodes());
 
  useEffect(() => {
    if (nodesInitialized) {
      setLayoutedNodes(yourLayoutingFunction(getNodes()));
    }
  }, [nodesInitialized]);
 
  return layoutedNodes;
}

签名

#参数
#options
object
#options.includeHiddenNodes?
boolean
false
#返回
boolean
节点是否已由 <ReactFlow /> 组件初始化并获得宽度和高度。

备注

  • 如果内部节点数组为空,此钩子始终返回 false