Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bisheng-plugin-react 遇到含有 Hooks 的组件报错 #213

Open
zhongmeizhi opened this issue Jan 14, 2020 · 2 comments
Open

bisheng-plugin-react 遇到含有 Hooks 的组件报错 #213

zhongmeizhi opened this issue Jan 14, 2020 · 2 comments

Comments

@zhongmeizhi
Copy link

react.development.js:1590 Uncaught Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:

  1. You might have mismatching versions of React and the renderer (such as React DOM)
  2. You might be breaking the Rules of Hooks
  3. You might have more than one copy of React in the same app

markdown代码

import Keyboard from '../../../src/views/Keyboard.tsx';
import Button from '../../../src/views/Button.tsx';
import {useState} from 'react';

const Test = () => {
    const [value, setValue] = useState('');

    return <div>
        <Keyboard
            onChange={setValue}
            header={<div className="test-value-box">{value}</div>}
            emitButton={<Button>打开键盘</Button>}
        ></Keyboard>
    </div>
}

ReactDOM.render(<Test></Test>, mountNode);

将 Keyboard 组件内部的 react hook 代码删掉就不报错了。

@zhongmeizhi
Copy link
Author

Keyboard 部分代码


export default function Keyboard ({emitButton, header, onChange}: KeyboardProps) {

    const [keyList, setKeyList] = useState([] as Array<number>);

// ... 略

@PerkinJ
Copy link

PerkinJ commented Feb 25, 2020

同遇到..
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants