子组件点击事件改变父组件的属性
时间: 2023-07-22 07:17:37 浏览: 62
子组件可以通过 props 向父组件传递事件处理程序来修改父组件的属性。在父组件中定义一个方法来更新需要修改的属性,并将这个方法传递给子组件。
例如,在父组件中定义一个名为 handleChange 的方法,该方法接收一个值并将其设置为父组件的状态属性:
```jsx
class ParentComponent extends React.Component {
state = {
value: ''
}
handleChange = (value) => {
this.setState({ value });
}
render() {
return (
<ChildComponent onChange={this.handleChange} />
);
}
}
```
在子组件中,通过调用 props.onChange 方法并传递要修改的值来触发父组件中的 handleChange 方法:
```jsx
class ChildComponent extends React.Component {
handleClick = () => {
this.props.onChange('new value');
}
render() {
return (
<button onClick={this.handleClick}>Click me</button>
);
}
}
```
在这个例子中,当用户点击子组件中的按钮时,会触发父组件的 handleChange 方法,并将新的值传递给它。父组件会将这个值设置为它的状态属性,并重新渲染自己。
阅读全文