首页 > 其他 > 详细

React

时间:2019-12-20 11:01:54      阅读:92      评论:0      收藏:0      [点我收藏+]

React  传值

    HTML页面

  

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta name="description" content="Web site created using create-react-app"/>
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
    <title>React App</title>
  </head>
  <body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>
  </body>
</html>

  

一、父组件向子组件传值

      一 . 1  先声明父组件,用来向Son组件传值。

         

//引入React组件
import React from ‘react‘;
//引入React-dom组件
import ReactDOM from ‘react-dom‘;
//引入子组件Son
import Son from ‘./Son‘;

//声明一个父组件名为Father
class Father extends React.Component{
    //类自带的构造函数constructor
    constructor(){
        //继承React
        super();
        //声明一个类函数专属的状态state
        this.state={
            message:"hello,This is my son‘s data。。。"
        }
    }
    //渲染方法,类组件中必须有的渲染方法。
    render(){
        //渲染方法中必须有的return 返回值,并且返回值最外层必须是只有一个标签。
        return (
            //如果页面中不希望有无用的标签,可以用React中自带的<React.Fragment>标签
            <React.Fragment>
                {/*实例化Son组件并向Son组件传递数据,渲染到页面*/}
                <Son mess={this.state.message} />
            </React.Fragment>
        );
    }
}

//获取目标元素,并渲染
ReactDOM.render(<Father />,document.querySelector("#root"))

  一 . 2 声明一个Son组件,接受Father组件的数据,并向父组件返回渲染数据。

//引入React 
import React from ‘react‘;

//声明一个子组件,名为Son
class Son extends React.Component{
    //声明render方法
    render(){
        //return返回
        return(
            <React.Fragment>
                <h1>这是Son组件</h1>
                {/* 调用组件之间传参props 渲染数据到页面 */}
                {this.props.mess}
            </React.Fragment>
        );
    }
}

//向外暴露自己
export default Son;

二、子组件向父组件传值

    二  .  1  声明一个父组件,名为Father。

        

//引入React组件
import React from ‘react‘;
//引入React-dom组件
import ReactDOM from ‘react-dom‘;
//引入子组件Son
import Son from ‘./Son‘;

//声明一个父组件名为Father
class Father extends React.Component{
    //声明一个类中自带的构造函数
    constructor(){
        //继承react
        super();
        //声明一个state状态
        this.state={
            message:""
        }
    }
    //声明一个用来接收子组件数据的方法
    getSonMess(msg){
        this.setState({
            message:msg
        })
    }
    //渲染方法
   render(){
    return(
        <React.Fragment>
    <h1>这是Father组件</h1>
            {/* 实例化子组件 */}
            <Son mess={this.getSonMess.bind(this)} />
            <hr />
            {/* 输出从Son组件中获取的数据 */}
            <h1>这是从Son组件中获取的数据</h1>
            {this.state.message}
        </React.Fragment>
    );
   }
}

//获取目标元素,并渲染
ReactDOM.render(<Father />,document.querySelector("#root"))

  

二  .  2 声明一个子组件Son,向父组件Father传数据

  

import React from ‘react‘;

class Son extends React.Component{
    //创建构造函数
    constructor(){
        super();
        //创建数据
        this.state={
            message:"这是在Son子组件生成的数据。。"
        }
    }
    //创建一个方法用来向父组件传数据
    addFatherMess(){
        this.props.mess(this.state.message)
    }

    render(){
        retrun(
            <React.Fragment>
          <h1>这是Son组件</h1> {/* 绑定一个点击事件,向父组件传数据 */} <button onClick={this.addFatherMess.bind(this)}>点击获取数据</button> </React.Fragment> ); } } //向外暴露 export default Son;

  

React

原文:https://www.cnblogs.com/xiaobu-wu/p/12071604.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!