useTransition - 对象不是一个函数或其返回值不可迭代

4

我正在运行实验版的React,以尝试并发模式和useTransition功能。我所运行的版本是:

"react": "0.0.0-experimental-27659559e",
"react-dom": "0.0.0-experimental-27659559e",

我还确保从index.js中选择了并发模式:

ReactDOM.unstable_createRoot(document.getElementById("root")).render(<App />);

我正在尝试使用useTransition的组件如下所示 -
import React, { Suspense, useState, useTransition } from "react";
import { createResource } from "./utils";

const initialResource = createResource();

const UserInfo = () => {
  const [resource, setResource] = useState(initialResource);
  const [startTransition, isPending] = useTransition({
    timeoutMs: 3000,
  });
  const user = resource.invoice.read();
  return (
    <div>
      <span>{user.name}</span>
      <button onClick={() => setResource(createResource())}>Load data</button>
    </div>
  );
};

在我加入 useTransition 这一行之前,一切都正常运作。但是,应用程序崩溃并抛出一个错误,指出以下行:TypeError: Object is not a function or its return value is not iterable

const [startTransition, isPending] = useTransition({
    timeoutMs: 3000,
  });

我不确定设置并发模式是否存在问题。这与官方文档中设置useTransition的方式类似。请问有人能给我一些关于可能出现什么问题的想法吗?

1个回答

4
你可能已经意识到了,但是他们把数值调换了,正确的应该是:
const [isPending, startTransition] = useTransition({
    timeoutMs: 3000,
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接