react-async v. 8.0.0 - 使用带有 Typescript 和乐观更新的新 promise 道具

react-async v. 8.0.0 - using new promise prop w/ Typescript & optimistic updates

我刚刚更新到 newest version of react-async (8.0.0),新的 promise 道具给我带来了一些麻烦。

我正尝试在我的 useAsync 挂钩之后使用 promise 道具,如发行说明中所述,但我收到运行时错误 "TypeError: Cannot read property 'then' of undefined"。

const { data: result, run, setData, promise } = useAsync({
    promiseFn: getPhoto,
    deferFn: postPhoto,
    userId: userId
  });
  promise.then(res => setData(res));

这是因为 promise 仅在调用 promiseFn 时定义。这意味着它至少在第二次渲染之前是未定义的。由于此行为与 TS 类型不一致且不直观,因此将在下一个版本中修复。