gpt4 book ai didi

reactjs - 无法读取 null 的属性 'setState' - React.js、Modal、Bootstrap

转载 作者:行者123 更新时间:2023-12-03 13:58:57 24 4
gpt4 key购买 nike

我第一次尝试 React.js 来尝试构建这个网络应用程序。我在下面的指定行上收到 Cannot read property 'setState' of null 。在过去的几个小时里我一直试图找出原因,但似乎无法弄清楚。任何帮助将不胜感激。

MyModal.jsx

import React from 'react';
import { Modal, Button, ButtonToolbar } from 'react-bootstrap';

export default class MyModal extends React.Component {
constructor(props) {
super(props);
this.state = {show: false};
}

showModal() {
this.setState({show: true});
}

hideModal() {
this.setState({show: false});
}

render() {
return (
<ButtonToolbar>
<Button bsStyle="primary" onClick={this.showModal}>
Launch demo modal
</Button>

<Modal
{...this.props}
show={this.state.show}
onHide={this.hideModal}
dialogClassName="custom-modal"
>
<Modal.Header closeButton>
<Modal.Title id="contained-modal-title-lg">Modal heading</Modal.Title>
</Modal.Header>
<Modal.Body>
<h4>Wrapped Text</h4>
<p>Blah</p>
</Modal.Body>
<Modal.Footer>
<Button onClick={this.hideModal}>Close</Button>
</Modal.Footer> // Chrome inspector says it errors on this line
</Modal>
</ButtonToolbar>
);
} // end render function

} // end export default

最佳答案

constructor() 内绑定(bind)组件类方法(出于性能考虑,在构造函数内绑定(bind)比在 render() 内绑定(bind)更好):

constructor(props) {
super(props);
this.state = {show: false};
this.showModal = this.showModal.bind(this);
this.hideModal = this.hideModal.bind(this);
}

关于reactjs - 无法读取 null 的属性 'setState' - React.js、Modal、Bootstrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40694468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com