我正在开发自己的反应库,名为 @efishery/onefish-antd,我想在发布之前对其进行测试。我正在使用
npm link
将我的库导入到我的其他 React 应用程序中,因此该库似乎安装在 React 应用程序中 node_modules
但是,当我像这样导入我的组件之一时
import React from 'react';
import logo from './logo.svg';
import './App.css';
import { Button } from '@efishery/onefish-antd'
function App() {
const onClick = () => {
}
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.tsx</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
<Button onClick={onClick}/>
</header>
</div>
);
}
export default App;
出现此错误
Uncaught TypeError: Cannot read properties of null (reading 'useContext')
我尝试过发布它,看起来效果很好。仅当我使用 npm link 或 npm install 到我自己的本地库时,我才遇到此问题。
我尝试重新安装node_modules,删除 package-lock.json ,但没有任何效果。
每次想测试都不能发布库,根本没有效果
我阅读了评论,但这是我了解到的一个简单的解决方案:
cd
进入React应用程序(而不是库),然后:cd node_modules/react && npm link
。然后进入您的图书馆并npm link react
。
作为一个简短的解释,它会在根项目和库中同步反应,因此您不会再遇到错误。