在根文件夹中,我有一个 index.js 文件,其中包含一些 React 钩子和上下文。部分内容如下所示:
import React, {
createContext,
useContext,
useState,
useEffect,
} from 'react';
//other stuff
export const createStoreProvider = store => ({
children,
}) => {
const [state, setState] = useState(store.getState());
useEffect(() => {
const remove = store.subscribe(() => {
setState(store.getState());
});
return () => remove();
}, []);
return (
<StoreContext.Provider value={state}>
{children}
</StoreContext.Provider>
);
};
在根目录中有 package.json
"dependencies": {
"react": "^16.8.6"
}
在项目的根目录中有一个名为 example 的目录,它有一个 package.json :
"dependencies": {
"react": "^16.8.6",
"store": "file:../",
"react-dom": "^16.8.6",
"react-scripts": "3.0.1",
"reselect": "^4.0.0"
},
当转到示例目录并运行时yarn install
,没有错误,但是当我在示例目录中运行 yarn start 时,出现编译错误:
SyntaxError: /home/me/dev/homebrew-redux/store/index.js: Unexpected token (104:4)
102 | }, []);
103 | return (
> 104 | <StoreContext.Provider value={state}>
| ^
105 | {children}
106 | </StoreContext.Provider>
107 | );
我想知道如何向实际运行的商店项目添加示例。试图yarn install
在 root 中运行,然后在示例中运行,但它一直给我同样的错误(可能安装了多个版本的 React)。