升级时React选择错误:TypeError:Dispatcher.useInsertionEffect不是函数

lxkprmvk  于 2022-10-21  发布在  React
关注(0)|答案(3)|浏览(125)

我刚刚更新了React选择库,我发现它不再起作用了。在the official site上,我找到了这个升级指南,它对我没有帮助,也没有说明什么。
我也检查了samples on their site,但它给出了相同的错误。
例如,我想做一个非常基本的可创建选择:

import AsyncCreatableSelect from 'react-select/async-creatable';

const promiseOptions = (inputValue: string) =>
  new Promise<any[]>((resolve) => {
    setTimeout(() => {
      console.log('searching...');
    }, 1000);
  });

const Select: React.FC = () => {
  return (
    <AsyncCreatableSelect
      cacheOptions
      defaultOptions
      loadOptions={promiseOptions}
    />
  );
};

我在我的项目中选择的所有其他选项都是相同的。你有什么办法修好它吗?
我收到的错误如下:

我使用nextjs 12.1.2react 18.0.0typescript 4.6.3react-select 5.2.2

mnemlml8

mnemlml81#

问题似乎是我使用了react 18.0.0react-dom 17.0.1
要解决上述问题,只需更新react-dom to 18.0.0

dba5bblo

dba5bblo2#

在我的例子中,问题出在热模块更换(HMR)设置上。我和webpack一起在打字稿上使用了素材UI。我盲目地将HMR添加到webpack配置中,运行webpack-dev-server时出现了这个错误。reactreact-dom是相同的18.2版本。
我解决了这个问题,将HMR从webpack.config.js中完全删除。
希望能有所帮助。

dsf9zpds

dsf9zpds3#

我通过更新我的React域解决了这个问题:npm i --save-dev react@18 react-dom@18

相关问题