深入了解React(三、组件传参用法)

import React from 'react';
import ReactDOM from 'react-dom';

import 'font-awesome/css/font-awesome.min.css';
import './index.css';
import './index.scss';

let jsx = (
    <div>
        <i className='fa fa-address-book'></i>
        <h1>Hello, react!</h1>
        <p>test style</p>
        <p>test className</p>
    </div>
);

// ES5形式的
function Component() {
    return <h1>I am Yuusuke</h1>
}

// ES6形式的
class ES6Component extends React.Component {
    render() {
        return <h1>I am Yuusuke in es6</h1>
    }
}

// state && props的用法
class MyComponent extends React.Component {
    constructor(props) {
        super(props);

        // this.state = {
        //     name: 'Yuusuke'
        // }
    }

    render() {
        // 修改状态
        // setTimeout(() => {
        //     this.setState({
        //         name: 'Yuusuke Test'
        //     });
        // }, 2000);
        // return <h1>I am {this.state.name}</h1>

        // 父组件传来的参数
        return <h1>I am {this.props.name}</h1>
    }
}

ReactDOM.render(
    // jsx,

    // 一个组件用这种方式
    // <Component></Component>,

    // 两个组件及以上时,用<div></div>包裹起来
    // <div>
    // <Component></Component>
    // <ES6Component></ES6Component>
    // </div>,

    <div>
        {/*<MyComponent/>*/}

        {/*向子组件传递参数*/}
        <MyComponent name='YuusukeUchiha'/>
    </div>,
    document.getElementById('app')
);
发布了123 篇原创文章 · 获赞 4 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/yuzhiboyouzhu/article/details/79989024
今日推荐