后坐力:重复的原子键 - 在 nextjs 中
recoil: Duplicate atom key - in nextjs
我确实在我的 nextjs 应用程序中使用了反冲。
但是如果我 运行 接下来(在开发或生产中没有区别)我得到这个错误消息:
Duplicate atom key "companyData". This is a FATAL ERROR in
production. But it is safe to ignore this warning if it occurred because of
hot module replacement.
这是我实现它的方式:
/src/stores/CompanyStore.js:
import { useSetRecoilState, useRecoilValue , atom } from 'recoil';
import config from '../../content/config.yml';
const companyData = atom({
key: 'companyData',
default: {...config.company},
});
export const useSetCompanyData = () => useSetRecoilState(companyData);
export const useCompanyData = () => useRecoilValue(companyData);
export default {
useSetCompanyData,
useCompanyData,
};
我在一些组件中是这样使用的:
MyComponent.js
import React from 'react';
...
...
import {useCompanyData} from '../stores/CompanyStore';
const MyComponent = () => {
const classes = useStyles();
const companyData = useCompanyData();
const { summary: headline, description } = companyData;
return (<div><h2>{headline}</h2><p>{description}</p>)
我不明白为什么会出现此错误消息。可能是nextjs的bug导致的,还是我实现后坐力的方式不对?
当你在一个单独的文件中有状态时,nextjs 中的后坐力看起来像是一个问题:
https://github.com/facebookexperimental/Recoil/issues/733
我确实在我的 nextjs 应用程序中使用了反冲。 但是如果我 运行 接下来(在开发或生产中没有区别)我得到这个错误消息:
Duplicate atom key "companyData". This is a FATAL ERROR in production. But it is safe to ignore this warning if it occurred because of hot module replacement.
这是我实现它的方式:
/src/stores/CompanyStore.js:
import { useSetRecoilState, useRecoilValue , atom } from 'recoil';
import config from '../../content/config.yml';
const companyData = atom({
key: 'companyData',
default: {...config.company},
});
export const useSetCompanyData = () => useSetRecoilState(companyData);
export const useCompanyData = () => useRecoilValue(companyData);
export default {
useSetCompanyData,
useCompanyData,
};
我在一些组件中是这样使用的:
MyComponent.js
import React from 'react';
...
...
import {useCompanyData} from '../stores/CompanyStore';
const MyComponent = () => {
const classes = useStyles();
const companyData = useCompanyData();
const { summary: headline, description } = companyData;
return (<div><h2>{headline}</h2><p>{description}</p>)
我不明白为什么会出现此错误消息。可能是nextjs的bug导致的,还是我实现后坐力的方式不对?
当你在一个单独的文件中有状态时,nextjs 中的后坐力看起来像是一个问题: https://github.com/facebookexperimental/Recoil/issues/733