如果没有“ new”,则无法调用类构造函数ForceUpdateApp

时间:2020-04-26 12:30:00

标签: reactjs

我正在学习做出反应,并得到以下错误。

ForceUpdateApp.jsx

import React from 'react';

class ForceUpdateApp extends React.Component {
    constructor() {
        super();
        this.forceUpdateHandler = this.forceUpdateHandler.bind(this);
    };

    forceUpdateHandler() {
        this.forceUpdate();
    };

    render() {
        return (
            <div>
                <button onClick={this.forceUpdateHandler}>Force Update</button>
                <p>Random Number: {Math.random()}</p>
            </div>
        );
    }
}

export default ForceUpdateApp();

index.jsx

import React from 'react';
import ReactDOM from 'react-dom';
import ForceUpdateApp from './ComponentAPI/ForceUpdateApp.jsx';

class App extends React.Component {
    render() {
        return (
            <div>
                <ForceUpdateApp />
            </div>
        );
    }
}

ReactDOM.render(<App />, document.getElementById('root'));

export default App;

但是,我收到以下错误。我尝试了其他可用的答案,但找不到解决方法。请指导我如何解决?

enter image description here

2 个答案:

答案 0 :(得分:1)

这不是创建类实例的工作方式。如果要创建实例,则需要使用new

话虽如此,您无需为您的案例创建实例。只需写export default ForceUpdateApp;即可。

答案 1 :(得分:1)

导出时不应调用构造函数。

export default ForceUpdateApp()应该是export default ForceUpdateApp