美文网首页
react组件

react组件

作者: 风筝啊 | 来源:发表于2017-08-06 17:16 被阅读0次

先放一个hello组件:

var MyCom = React.createClass({
    render:function(){
        return( 
            <div>
                <h1>HELLO,我是组件</h1>
                <p>我是段落</p>
            </div>
        );
    }
});
ReactDOM.render(
    <MyCom/>,
    document.getElementById('demo')
);

React.createClass({...}) 方法用于生成一个组件类 HelloMessage。
调用的时候千万不能忘了那个‘/’,调用用的时候闭合的标签<MyCom/>。
原生 HTML 元素名以小写字母开头,而自定义的 React 类名以大写字母开头,比如 MyCom 不能写成 myCom 。除此之外还需要注意组件类只能包含一个顶层标签例如上面栗子的(div),否则会报错。

上面的栗子如果想要动态传参数的话可以通过this.props

var MyCom = React.createClass({
    render:function(){
        return( 
            <div>
                {/*<h1>HELLO,我是组件</h1>
                <p>我是段落</p>*/}
                亲亲的{this.props.name}
            </div>
        );
    }
});
ReactDOM.render(
    <MyCom name="我的宝贝"/>,
    document.getElementById('demo')
);

输出:亲亲的我的宝贝

注意:在添加属性时, class 属性需要写成 className ,for 属性需要写成 htmlFor ,这是因为 class 和 for 是 JavaScript 的保留字。

最后来一个复杂的复合组件结尾,把很多个不同功能的功能组件组合成一个组件。

var Song = React.createClass({
    render:function(){
        return( 
            <div>
                <span>{this.props.song}</span>-<span>来自XX专辑</span>
            </div>
        );
    }
});
var Name = React.createClass({
    render:function(){
        return <p>{this.props.name}</p>
    }
});
var Info = React.createClass({
    render:function(){
        return(
            <div>
                <Song song={this.props.song}/>
                <Name name={this.props.name}/>
            </div>
        );
    }
});

ReactDOM.render(
    <Info  name="周华健" song="亲亲的我的宝贝"/>,
    document.getElementById('demo')
);

输出效果:

复合组件.PNG

注意React类名首字母大写(Name ,Song ,Info)。
在Info组件调用其他组件的时候,要注意将属性名(song , name)也写进去(<Song song={this.props.song}/>)。这里的song和name属性,对应最后调用的render里的Info提供的属性名(<Info name="周华健" song="亲亲的我的宝贝"/>,)。

相关文章

  • React基础

    React包含react元素和react组件 react元素 react组件 react组件分为函数组件和类组件 ...

  • 组件

    组件是React的基石,所有的React应用程序都是基于组件的。React组件,可以通过React.createC...

  • ReactNative学习笔记(三)Hello World!

    React Native 看起来很像 React,但React Native的基础组件是原生组件 不是web组件。...

  • react子组件向父组件传值

    相关资料:react 父组件怎么获取子组件的这个值React组件间信息传递方式react同级组件之间传值 • 父...

  • React 进阶二 组件详解

    React组件 React的组件大概分为俩部分,无状态组件和有状态组件 无状态组件。下面React官网中定义的一个...

  • 2、react基础介绍

    React理念 划分组件边界的原则 React组件的数据种类 React组件的声明周期 组件的划分 高内聚 低耦合...

  • React概念图

    React概念图 React组件生命周期概念图 参考文档:React入门教程 组件生命周期React:组件生命周期...

  • react16.3-jest

    功能组件和UI组件 react-antd 命名 react 规定组件开头都为大写,所以如果react项目如果用an...

  • 如何创建React组件并发布到npm?

    实现步骤: 创建React组件项目; 创建测试项目并引用组件; 发布React组件到npm上; 一、创建React...

  • RN原始项目-HelloWorld

    React Native看起来很像React,只不过其基础组件是原生组件而非web组件,。要理解React Nat...

网友评论

      本文标题:react组件

      本文链接:https://www.haomeiwen.com/subject/nltnlxtx.html