React 状态提升 子组件传递数据到父组件

发布于 2023-08-02 12:56:20 字数 1101 浏览 28 评论 0

React 状态提升,类似于 Vue 的 event emit,只是实现的方式不同

父组件

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import Name from './Name';

class App extends Component {
  constructor(props) {
    super(props);
    this.nameChange = this.nameChange.bind(this);
  }
  render() {
    return (
      <div className="App">
    
        <Name onNameChange={this.nameChange}></Name>
      </div>
    );
  }

  nameChange(value) {
    console.log(value);
  }
}

export default App;

子组件:

import React, { Component } from 'react';

class Name extends Component {
    constructor(props) {
        super(props);
        this.nameChange = this.nameChange.bind(this);
    }
  render() {
    return (
      <div>
        <label>Name:</label>
        <input type="text" onChange={this.nameChange} />
      </div>
    );
  }

  nameChange(event) {
    this.props.onNameChange(event.target.value);
  }
  
}

export default Name;

当在子组件更改 props 值时,父组件能够实时接收到,可以看到组件中的 state,和 props 都是响应式的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

笑饮青盏花

暂无简介

0 文章
0 评论
24 人气
更多

推荐作者

束缚m

文章 0 评论 0

alipaysp_VP2a8Q4rgx

文章 0 评论 0

α

文章 0 评论 0

一口甜

文章 0 评论 0

厌味

文章 0 评论 0

转身泪倾城

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文