脚手架搭建项目(create-react-app)常见报错汇总

本文总结了使用create-react-app搭建React项目时遇到的两个典型问题及其解决方案:一是redux中的reducer初始化返回undefined的问题;二是react v18.0中由于StrictMode导致函数式组件useEffect钩子请求执行两次的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用脚手架create-react-app搭建React项目时,常见的报错及解决办法汇总。

1、redux.js:473 Uncaught Error: The slice reducer for key "errors" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.

问题:errors的reducer在初始化时数据返回了undefined,或者没有返回。

解决:

a、reducer没有给与返回值;

b、reducer如果没有返回值可以给与null,不要给与undefined

2、react v18.0函数式组件,在useEffect中进行请求,请求执行两次。

原因:react的严格模式(Strict Mode)。可能不止一次的调用渲染阶段的生命周期。

解决:去掉React.StrictMode。

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  // <React.StrictMode>
    <Provider store={store}>
      <App />
    </Provider>
  // </React.StrictMode>
);

解决截图:

 复现截图1:

 复现截图2:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值