我正在运行实验版的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
的方式类似。请问有人能给我一些关于可能出现什么问题的想法吗?