На самом деле, ваша проблема возвращается к вашему мышлению, вы должны изменить свое мнение о ReactJS. у вас должен быть контейнер Index
, как показано ниже:
const Index = () => {
const [isRender, renderSettingContainer] = useState(false);
return (
<>
{isRender && (
<SettingContainer />
)}
<App onClick={renderSettingContainer}>
</>;
);
};
Затем передайте функцию onClick
из реквизита в приложение, как показано ниже:
const App = ({ onClick }) => (
<>
Hello Friends
<div id="divHello">
</div>
<button onClick={onClick}>Button</button>
</>
);
Кроме того, нет Нужно использовать ReactDOM
дважды, поэтому напишите это как показано ниже:
ReactDOM.render(<Index />, document.getElementById('root'));
Если у вас есть какие-либо вопросы, напишите комментарий, обязательно я отвечу и изменит свой ответ.
Подсказка : <></>
похож на <React.Fragment></React.Fragment>
с меньшим количеством кода и лучшей производительностью, основываясь на идее Дана Абрамова.