【发布时间】:2021-07-23 07:42:26
【问题描述】:
我正在尝试在另一个子组件中呈现选定的 li(映射在子组件中)。 所以你有以下结构(非常简单):
父组件(Parent.JS)
- ➥ First Child 称为 Title.JS(应该呈现从 Second Child 中选择的标题,其中将包含菜单)
- ➥ Second Child 称为 Menu.JS(其中包含菜单)
我在这里尝试做和理解的练习是如何使用道具在孩子之间传递数据(如果值通过父级)。
Parent.JS
import React, { useState } from 'react'
import Child from './Child'
import Title from './Menu'
function Parent() {
const [word, setWord] = useState('Parent');
return (
<div>
<Title />
<Menu changeWord={word => setWord(word)}/>
</div>
)
}
export default Parent
Title.JS
import React from 'react'
function Title(props) {
return (
<div>
//Here I tell the code to print "Nothing selected"
//until I don't choose a link in the menu.
{props.title ? <h1>{props.title}</h1> : <h1>Nothing selected</h1>}
</div>
)
}
export default Title
Menu.JS
import React from 'react'
const data = [
{title: "Home"},
{title: "About"},
{title: "Contact"},
]
function Menu(props) {
return (
<div>
{data.map((item) => {
return <li onClick={() => props.changeWord(props.children)}>{item.title}</li>
})}
</div>
)
}
export default Menu
当然,App,JS是简化的。
import Parent from './Parent'
function App() {
return (
<div>
<Parent />
</div>
);
}
export default App;
我很接近..
【问题讨论】:
标签: javascript reactjs onclick react-props children