将我自己的库链接到 React 应用程序时无法读取 null 的属性(读取“usecontext”)

问题描述 投票:0回答:1

我正在开发自己的反应库,名为 @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 linknpm install 到我自己的本地库时,我才遇到此问题。

我尝试重新安装node_modules,删除 package-lock.json ,但没有任何效果。

每次想测试都不能发布库,根本没有效果

node.js reactjs typescript package.json
1个回答
0
投票

我阅读了评论,但这是我了解到的一个简单的解决方案:

cd
进入React应用程序(而不是库),然后:
cd node_modules/react && npm link
。然后进入您的图书馆并
npm link react

作为一个简短的解释,它会在根项目和库中同步反应,因此您不会再遇到错误。

© www.soinside.com 2019 - 2024. All rights reserved.