سلام تازه واردم
صدا زدن یه کامپوننت دیگه درون کامپوننت با استفاده از رویداد onClick
من اول اومدم onClick ={ <Component />} نوشتم جواب نداد.
بعد آوردمش تو یه تابع کامپوننت رو Return کردم اون هم جواب نداد
یه جا دیدم از SetState استفاده شده اما متوجه نشدم .
از دوستانی که جواب میدن متشکرم.
سلام
اگه منظورتون درست متوجه شده باشم یکی از راه حل ها اینه نمونه کد
https://codesandbox.io/s/clever-clarke-jl0mm
اگه به راه حل دیگه احتیاج داشتید بفرمایید تا راه حل های دیگر هم بیان کنم
نگاهی به مقاله زیر بندازین
https://flaviocopes.com/react-show-different-component-on-click/
سلام. همونطور که خودتون گفتین باید یه متغیر بولین رو توی استیت تعریف کنید که با کلیک کردن روی button به true تغییر وضعیت پیدا کنه و نمایش دادن کامپوننت رو منوط به این بکنین که اگه اون متغیر true هست نشون داده بشه.
کامپوننت اول :
import React, { useState } from 'react';
import SecondComponent from './secondComponent';
function FirstComponent(props) {
const [showComponent, setShowComponent] = useState(false);
return (
<React.Fragment>
<button
onClick={() => setShowComponent(true)}
className="btn btn-primary">show the second component</button>
{
showComponent ? <SecondComponent /> : null
}
</React.Fragment>
)
}
export default FirstComponent;
کامپوننت دوم :
import React from 'react';
function SecondComponent(){
return(
<h1>this is a test from second component</h1>
)
}
export default SecondComponent;
اگر از class base components استفاده میکنید کافیه به جای useState از setState استفاده کنید
شاید پاسخ شما همینجا باشد