【发布时间】:2026-02-11 01:25:01
【问题描述】:
我试图将状态或数据作为道具从父级传递给 状态对象 中的子级。当父组件点击按钮时,子组件的div会显示true或false的变化。
当
如果子组件在父组件的状态对象中,如何渲染变化?
请参考以下示例:
Parent.js(成功的代码)
import React, { useState, useEffect } from 'react'
import Child from './Child'
function Parent() {
const [childs, setChilds] = useState()
const [toggle, setToggle] = useState(true)
const changeToggle = () => {
setToggle(!toggle)
}
useEffect(() => {
setChilds(<div><Child modeToggle={toggle} /></div>)
}, [])
return (
<div>
<div>
<button onClick={changeToggle}>Change toggle</button>
</div>
<div>
<div><Child modeToggle={toggle} /></div>
</div>
</div>
)
}
export default Parent
Parent.js(不成功的代码)
import React, { useState, useEffect } from 'react'
import Child from './Child'
function Parent() {
const [childs, setChilds] = useState()
const [toggle, setToggle] = useState(true)
const changeToggle = () => {
setToggle(!toggle)
}
useEffect(() => {
setChilds(<div><Child modeToggle={toggle} /></div>)
}, [])
return (
<div>
<div>
<button onClick={changeToggle}>Change toggle</button>
</div>
<div>
{childs}
</div>
</div>
)
}
export default Parent
Child.js
import React, { useEffect } from 'react'
function Child(props) {
useEffect(()=>{
console.log(props.modeToggle)
},[props.modeToggle])
return (
<div>{props.modeToggle.toString()}</div>
)
}
export default Child
网页浏览器截图: Web snapshot
【问题讨论】:
标签: reactjs react-hooks react-props