我是react新手,正在使用react引导。我有一个完美工作的react应用程序,有两个组件,我使用的是功能组件。这是代码。
应用程序。js
function App() {
const [modalShow, setModalShow] = useState(false);
return (
<>
<Button variant="primary" onClick={() => setModalShow(true)}>
Launch vertically centered modal
</Button>
<MyVerticallyCenteredModal
show={modalShow}
onHide={() => setModalShow(false)}
/>
</>
);
}
MyVerticallycenteremodal。js
export default function MyVerticallyCenteredModal(props) {
return (
<Modal
{...props}
size="lg"
aria-labelledby="contained-modal-title-vcenter"
centered
>
<Modal.Header closeButton>
<Modal.Title id="contained-modal-title-vcenter">
Modal heading
</Modal.Title>
</Modal.Header>
<Modal.Body>
<h4>Centered Modal</h4>
<p>
Cras mattis consectetur purus sit amet fermentum. Cras justo odio,
dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac
consectetur ac, vestibulum at eros.
</p>
</Modal.Body>
<Modal.Footer>
<Button onClick={props.onHide}>Close</Button>
</Modal.Footer>
</Modal>
);
}
在这个阶段,我的代码工作正常。但是我需要做一些改变。我需要从MyVerticallyCenteredModal组件中删除show和onHide道具,并从Modal组件中访问道具。这是我所做的,
应用程序。js
<MyVerticallyCenteredModal />
MyVerticallycenteremodal。js
<Modal
show={modalShow}
onHide={() => setModalShow(false)}
size="lg"
aria-labelledby="contained-modal-title-vcenter"
centered
>
...
</Modal>
现在我得到一个编译错误,
'modalShow' is not defined
'setModalShow' is not defined
但不从应用程序中移动useState。js到MyVerticallyCenter模式。我该怎么做?
状态由父组件控制
<Button variant="primary" onClick={() => setModalShow(true)}>
Launch vertically centered modal
</Button>
因此,不可能从模态itsef控制模态行为。
但是如果您直接在
我们需要在模态组件中使用一个小按钮,并使用模态本身中的状态来控制:)
onClark();应该采取一个事件作为控制鼠标点击:
onClick={(e) => {setModalShow(false)}};
onHide()也一样;
注意:您也可以使用“事件”一词代替字母“e”
如题,尝试了很久,始终无法打开,提示“无法访问此网站”。其实我只是想知道某个软件的版本号列表。大家是怎么解决hub.docker.com无法访问的问题的呢?或者是否可以直接在cmd里查询某个软件的版本(TAG)吗?
webpack5 打包时候会报几个这种问题,怎么解决
我们提供您的业务地图高清图片的生成服务,每次生成高清地图,1500元起价。并根据打印的范围、详细程度、标注数量来计算实际价格,范围越大、内容越详细、标注越多,价格则越高。 以下样图生成价格为2500元:点此下载原图 (约10M,建议在wifi环境下下载) 打印的范围,添加一个区域用以标明输出的范围。 地图的详细程度,用地图左下角的比例尺数字告诉小图,如下图所示: 有的小伙伴会问,我的地图,打印出来
amh的MySQL怎么升级补丁? 用的MySQL是5.7.35版本,amh应用市场也是这个版本,但是接到网监的通知有安全隐患,需要整改。 列举了以下漏洞,还有漏洞详情。 漏洞: Oracle MySQL Server 安全漏洞(CVE-2023-2650) Oracle MySQL 安全漏洞(CVE-2023-22028) Oracle MySQL cURL 组件输入验证错误漏洞(CVE-2022
预警列表上有开关按钮,可随时在APP设置开关,可同步至PC