所以我试图在我的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