我找到了一些关于这个问题的线索,但没有一个能解决我的问题。
无法在尚未安装的组件上调用 setState。这是一个无操作,但它可能表明您的应用程序中存在错误。
import React, { Component } from 'react';
import { Card, CardHeader, CardBody, Button, Collapse } from 'reactstrap';
class MyComponent extends React.Component<any, any> {
constructor(props) {
super(props);
this.toggle = this.toggle.bind(this);
this.state = {
collapse: false,
};
}
toggle() {
this.setState({ collapse: !this.state.collapse });
}
render() {
return (
<Card>
<CardHeader>
<Button color="link" onClick={this.toggle} className="float-right">
Click me to toggle collapse
</Button>
</CardHeader>
<Collapse isOpen={this.state.collapse}>
<CardBody>
The content being collapsed
</CardBody>
</Collapse>
</Card>
);
}
}
export default MyComponent;
- 如果我
componentDidMount() { console.log("Mounted!"); }
确定,它仍然出现在控制台窗口中。 - 我已经尝试过类似线程的答案,例如安装 babel polyfill、删除 react-hot-loader,但它们都不起作用。
- 我在每个组件中都遇到了这个问题,我有 setState 和一个按钮(或类似的东西)来调用该方法。
- 任何人都有解决的想法?我很欣赏他们每一个人。非常感谢