Reactjs NextJS快速刷新对非组件文件有效吗?
我有一个reducer文件,如下所示:Reactjs NextJS快速刷新对非组件文件有效吗?,reactjs,next.js,Reactjs,Next.js,我有一个reducer文件,如下所示: export default (state = initialState, action) => { switch (action.type) { case actionTypes.ACTION_1: ..., default: ... } } 编译时,我在控制台上收到以下警告: warn - my-reducer.js Anonymous arrow functions cause Fast Refresh to not
export default (state = initialState, action) => {
switch (action.type) {
case actionTypes.ACTION_1: ...,
default: ...
}
}
编译时,我在控制台上收到以下警告:
warn - my-reducer.js
Anonymous arrow functions cause Fast Refresh to not preserve local component state.
Please add a name to your function, for example:
Before
export default () => <div />;
After
const Named = () => <div />;
export default Named;
warn-my-reducer.js
匿名箭头函数导致快速刷新不保留本地组件状态。
请为函数添加名称,例如:
之前
导出默认值()=>;
之后
命名常量=()=>;
导出默认名称;
根据next的文档,快速刷新仅用于React组件
这是否意味着我可以忽略此错误,或者我必须重构我的还原程序以使用命名函数?React维护人员之间有一些谈话,反对导出的匿名函数。由于React Refresh依赖于要刷新的组件名称,因此最佳做法是命名所有函数(包括非组件)。当您移动到测试环境时,匿名函数将与其他函数无法区分,例如:
。另一方面,您可能会遇到Redux reducer状态问题,因为它是匿名函数。作为一种习惯,我总是建议不管如何命名函数。当它有一个描述性的名称时,它的用法会更加明显:userReducer
或postdreducer
等等。React维护人员之间有一些谈话反对导出的匿名函数。由于React Refresh依赖于要刷新的组件名称,因此最佳做法是命名所有函数(包括非组件)。当您移动到测试环境时,匿名函数将与其他函数无法区分,例如:
。另一方面,您可能会遇到Redux reducer状态问题,因为它是匿名函数。作为一种习惯,我总是建议不管如何命名函数。当它有一个描述性名称时,它的用法会更加明显:userReducer
或postducer
等等。