【发布时间】:2021-08-27 07:38:41
【问题描述】:
我有一个管理器组件,它是父组件并且具有模式状态。
它有条件地渲染两个与其状态相关的不同组件,
我希望当用户单击子组件中的添加按钮时,父组件的状态会发生变化。
对于其他同级组件,反之亦然。
你能帮我解决我的问题吗?我的意思是我应该如何通过单击按钮来更改子组件中的父状态。
如果你帮助我一个孩子,我也会为另一个孩子做同样的事情。
这是父组件:
import {React, useState} from 'react'
import BasePage from './BasePage'
import AddRecordForm from './AddRecordForm'
function Manager() {
const [mode, setMode] = useState('base-page');
function handleChangePageClick(Mode) {
setMode(Mode);
}
return (
<div>
<h1>My PhoneBook</h1>
{mode === 'base-page' ? <BasePage onClick = {handleChangePageClick} /> : <AddRecordForm onClick = {handleChangePageClick} />}
</div>
);
}
export default Manager
这是它的一个孩子:
import {React, useState} from 'react'
import Manager from './Manager'
function BasePage() {
return (
<div>
<fieldset>
<legend>Search</legend>
<input placeholder = "Enter name to search" type = "text" />
</fieldset>
<br />
<button onClick>Add</button>
</div>
);
}
export default BasePage
【问题讨论】:
标签: javascript reactjs react-hooks state