Reactjs 单击事件调用其他组件时的反应按钮
我想单击按钮,然后显示模式事件 但该代码未显示模态和无反应Reactjs 单击事件调用其他组件时的反应按钮,reactjs,buttonclick,react-functional-component,Reactjs,Buttonclick,React Functional Component,我想单击按钮,然后显示模式事件 但该代码未显示模态和无反应 所以我尝试添加代码{()=>BtnModal()}arrow函数,但没有相同的反应。 我搜索了另一个解决方案这个keyworld添加,但是这个keyworld没有使用功能组件。 我怎样才能解决这个问题 Modal.js(我使用了antd设计) 从“antd”导入{Modal}; 函数BtnModal(){ const[modal2Visible,setModal2Visible]=useState(true); 返回( SetModal
所以我尝试添加代码
{()=>BtnModal()}
arrow函数,但没有相同的反应。
我搜索了另一个解决方案这个
keyworld添加,但是这个keyworld没有使用功能组件。
我怎样才能解决这个问题
Modal.js(我使用了antd设计)
从“antd”导入{Modal};
函数BtnModal(){
const[modal2Visible,setModal2Visible]=useState(true);
返回(
SetModal2可见(假)}
onCancel={()=>setModal2Visible(false)}
>
知识、权利和义务都属于精英阶层。合理分配权利。
准快速眼动下的新盲肠尊严,
除此之外,所有的一切都是真实的吗
);
};
导出默认BtnModal;
Header.js
import BtnModal from './BtnModal';
function Header() {
return (
<>
<div className="Head-wrap">
<span>Header</span>
</div>
<div className="btn-list">
<button onClick={BtnModal}>TestBtn</button>
</div>
</>
);
};
export default Header;
从“/BtnModal”导入BtnModal;
函数头(){
返回(
标题
测试BTN
);
};
导出默认标题;
我正在尝试解决这个问题。TT我正在尝试解决这个问题….首先,您不能单击按钮调用组件。而是根据状态值设置状态并有条件地呈现组件,并在需要呈现组件时设置状态 在您的问题中,在
Header.js
中创建一个状态以保持模态的打开/可见状态,并在按钮的onClick
上相应地设置该状态。然后将该状态作为道具传递给BtnModal
,然后将该道具值分配给Modal
的visible
道具
Modal.js
import { Modal } from 'antd';
function BtnModal({visible, onCancel, onOk}){
return (
<>
<Modal
title="Modal"
centered
visible={visible}
onOk={onOk}
onCancel={onCancel}
>
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Sed dolorem ratione qui iste.<br />
Dignissimos nisi sint rerum numquam obcaecati voluptatem quidem, quasi rem,<br />
veritatis voluptatum omnis excepturi, fugit quia harum?</p>
</Modal>
</>
);
};
export default BtnModal;
import BtnModal from './BtnModal';
function Header() {
const [modal2Visible,setModal2Visible]=useState(true);
const handleModalOpen = () =>{
setModal2Visible(true)
}
const handleCancel = () =>{
setModal2Visible(false)
}
const handleOk = () =>{
setModal2Visible(false)
}
return (
<>
<div className="Head-wrap">
<span>Header</span>
</div>
<div className="btn-list">
<button onClick={handleModalOpen}>TestBtn</button>
<BtnModal visible={modal2Visible} onCancel={handleCancel} onOk={handleOk}/>
</div>
</>
);
};
export default Header;
从“antd”导入{Modal};
函数BtnModal({visible,onCancel,onOk}){
返回(
知识、权利和义务都属于精英阶层。合理分配权利。
准快速眼动下的新盲肠尊严,
除此之外,所有的一切都是真实的吗
);
};
导出默认BtnModal;
Header.js
import { Modal } from 'antd';
function BtnModal({visible, onCancel, onOk}){
return (
<>
<Modal
title="Modal"
centered
visible={visible}
onOk={onOk}
onCancel={onCancel}
>
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Sed dolorem ratione qui iste.<br />
Dignissimos nisi sint rerum numquam obcaecati voluptatem quidem, quasi rem,<br />
veritatis voluptatum omnis excepturi, fugit quia harum?</p>
</Modal>
</>
);
};
export default BtnModal;
import BtnModal from './BtnModal';
function Header() {
const [modal2Visible,setModal2Visible]=useState(true);
const handleModalOpen = () =>{
setModal2Visible(true)
}
const handleCancel = () =>{
setModal2Visible(false)
}
const handleOk = () =>{
setModal2Visible(false)
}
return (
<>
<div className="Head-wrap">
<span>Header</span>
</div>
<div className="btn-list">
<button onClick={handleModalOpen}>TestBtn</button>
<BtnModal visible={modal2Visible} onCancel={handleCancel} onOk={handleOk}/>
</div>
</>
);
};
export default Header;
从“/BtnModal”导入BtnModal;
函数头(){
const[modal2Visible,setModal2Visible]=useState(true);
常量handleModalOpen=()=>{
SetModal2可见(真)
}
常量handleCancel=()=>{
SetModal2可见(假)
}
常量handleOk=()=>{
SetModal2可见(假)
}
返回(
标题
测试BTN
);
};
导出默认标题;
Wow-Thx!!我成功点击按钮打开模式!顺便说一下,模态组件是我尝试使用它的全局和可重用组件。可能是调用模式组件中的另一个组件,然后打开
取消
确定
始终使用相同的函数声明?我无法完全理解您的问题。但据我所知,您不需要传递所有函数,然后将它们添加到全局组件中。相反,您可以像这样在BtnModal
中传播道具,lorem
。在这种情况下,不需要手动添加函数。