我有以下父组件:
export class Parent extends Component {
constructor(props) {
super(props)
state = {
value: 0
}
}
}
render() {
return (
<Child />
)
}
以下子组件:
export class Parent extends Component {
constructor(props) {
super(props)
state = {
num: 0
}
}
}
toggleCheckboxChange = () => {
this.setState({ num: 5})
}
render() {
return (
<div>
<label>
{this.state.num}
<input type="checkbox" onChange={this.toggleCheckboxChange}
/>
</label>
</div>
)
}
我想使用复选框将Child状态num
设置为5,然后将其传递给Parent的状态value
。
这样做的最佳方法是什么?
答案 0 :(得分:2)
正如我在评论中所说,如果你将州迁入父母,这是最简单的。
import React, {Component} from 'react';
import {render} from 'react-dom';
class Parent extends Component {
state = {
value: 0
}
toggleCheckboxChange = ev => {
this.setState({value: 5})
}
render() {
return (
<Child num={this.state.value} toggleCheckboxChange={this.toggleCheckboxChange}/>
);
}
}
function Child({num, toggleCheckboxChange}) {
return (
<div>
<label>
{num}
<input type="checkbox" onChange={toggleCheckboxChange}
/>
</label>
</div>
)
}
render(<Parent/>, document.getElementById('root'));