所以我试图在我的const中创建一个图像灯箱,但是每当我尝试设置状态时,它都不会允许我,而是我不断收到错误消息,说isisOpen被分配了一个值,但从未使用过。

const LineItem = ({ currency, lineItem, model, prints, snapshot }) => {
  if (!lineItem) {
    return null;
  }
  const { estimates, itar, quantity, uri } = lineItem;
  this.state = {
    isOpen: false,
  };
  const { isOpen } = this.state;
  return (
    <Panel>
      <Col xs={12} sm={4}>
        <Row>
          <Col xs={10} xsOffset={1} lg={6} lgOffset={3}>
            <ModelThumbnail snapshot={snapshot} itar={itar} />
            <button
              type="button"
              onClick={() => this.setState({ isOpen: true })}
            >
              Open Lightbox
            </button>
            <Lightbox
              mainSrc={snapshot}
              onCloseRequest={() => this.setState({ isOpen: false })}
            />
          </Col>
        </Row>
    </Panel>
  );
};


如何使它在此const中设置状态。每当我加载页面时,我要加载的灯箱都会被卡住,但是卡在特定的状态中,无法滚动页面使用鼠标垫,因为它仍然认为图像是它们的,即使不是。

最佳答案

您实际上不在任何地方使用isOpen!
您无需定义常量即可设置setState。

但是主要的问题是您试图更改无状态组件中的状态。尝试将其转换为从React扩展Component的类。

https://reactjs.org/docs/react-component.html

10-08 07:25