我正在制作学生姓名及其ID的列表。每当呈现列表元素时,父类都会调用子类。
export default class Parent extends Component {
render() {
return (
<div>
<div>
<ul>{this.props.studentData.map(item => {
return(
<div><Child key={item.id} {...item} /></div>);
})}
</ul>
<button>Submit</button>
</div>
</div>
);
}
}
export default class Child extends Component {
render() {
let {name}=this.props;
return (
<li><input type="checkbox"/>{name}</li>
);
}
}
我试图在列表下放置一个提交按钮,返回检查学生姓名的结果,一个或多个。我不明白的是,如何将学生名的值从孩子组件返回到家长,并一直返回到层次结构的顶部,并存储在某种变量中。有没有办法返回值给父组件,即调用的组件?
您可以发送一个回调函数到孩子
,每当它被选中或取消选中时,它就会通知。
const Child = ({ id, name, onChange }) =>
<li>
<input
type="checkbox"
onChange={(event) => onChange(id, event.target.checked) }
/>
{name}
</li>
class Parent extends React.Component {
constructor() {
super()
this.handleChange = this.handleChange.bind(this)
}
handleChange(id, checked) {
console.log(`student ${id} is ${checked ? 'checked' : 'unchecked'}`)
}
render() {
return (
<div>
<ul>
{this.props.studentData.map(item =>
<Child key={item.id} {...item} onChange={this.handleChange} />
)}
</ul>
</div>
)
}
}
const studentData = [
{ id: 1, name: 'Student 1' },
{ id: 2, name: 'Student 2' },
{ id: 3, name: 'Student 3' },
]
ReactDOM.render(
<Parent studentData={studentData} />,
document.getElementById('root')
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
问题内容: 以下是在reactjs中将值从子组件传递到父组件的正确示例。 App.jsx main.js 我需要明确有关将值从子组件传递到祖父母组件的概念。请帮我!! 问题答案: 您可以通过,将update函数传递给大子级,只需从子组件中再次传递即可。
问题内容: 我有一个智能组件和一个哑巴组件,我需要在智能组件中的转储组件中引用一个元素:我可以通过props传递它吗? 问题答案: 您可以对refs使用回调语法:
问题内容: 我正在寻找最简单的解决方案,以将数据从子组件传递给他的父组件。 我听说过使用上下文,传递槽属性或更新道具,但我不知道哪个是最佳解决方案。 我正在建立一个管理界面,其中的一个PageComponent包含一个ChildComponent以及一个可以在其中选择多行的表格。我想向我的父级PageComponent发送我在ChildComponent中选择的行数。 像这样: PageCompo
我正在寻找将数据从子组件传递给其父组件的最简单解决方案。 我听说过使用上下文、传递属性或更新道具,但我不知道哪一个是最好的解决方案。 我正在构建一个管理界面,其中包含一个PageComponent,其中包含一个ChildComponent表,我可以在其中选择多行。我想把我在ChildComponent中选择的行数发送给我的父PageComponent。 诸如此类: 页面组件: ChildCompo
我一直在尝试从react中的子组件中检索我正在组装的应用程序的值。我想我在这里犯了一个非常简单的错误。我最初在这里问了一个相关的问题: 响应已单击按钮的读取值 现在我的代码是这样的: 一个pp.js Match.js 当我使用以下命令单击ListGroup项目时,我正在尝试访问该项目的值: 但似乎无法让它发挥作用。可能一直盯着这条路看太久了。感谢你们的帮助。
我有一个在父组件中生成的事件,子组件必须对此作出反应。我知道在中不建议使用这种方法,我必须执行emit,这非常糟糕。所以我的代码是这个。 正如您所看到的,在无限滚动上被触发,事件被发送到子组件搜索。不仅仅是搜索,因为它是根,所以它正在向每个人广播。 什么是更好的方法。我知道我应该使用道具,但我不知道在这种情况下我该怎么做。