美文网首页ReactWeb前端之路
React 组件(Components) 和 属性(Props)

React 组件(Components) 和 属性(Props)

作者: iqing2012 | 来源:发表于2017-10-29 18:27 被阅读99次

组件(Components)

  • 从定义上来说, 组件就像JavaScript的函数。组件可以接收任意输入(称为"props"), 并返回 React 元素,用以描述屏幕显示内容。

1. 函数式组件和类组件

  • 函数式组件
 function welcome(props) {
                return <h1>Hello, {props.name}</h1>;
            }

这个函数是一个合法的 React 组件,因为它接收一个 props 参数, 并返回一个 React 元素。 我们把此类组件称为"函数式(Functional)"组件, 因为从字面上看来它就是一个 JavaScript 函数。

你也可以用一个 ES6 的 class 来定义一个组件:

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }
}

2. 渲染一个组件

<script type='text/babel'>
            const destination=document.querySelector('#app');
           //这里有个坑,函数式组件必须要大写。
            function Welcome(props) {
                return <h1>Hello, {props.name}</h1>;
            }
            const ele=<Welcome name="sara"/>
            ReactDOM.render(ele,destination);

        </script>

警告:
组件名称总是以大写字母开始。
举例来说, <div /> 代表一个 DOM 标签,而 <Welcome /> 则代表一个组件,并且需要在作用域中有一个 Welcome 组件。

3.构成组件

  • 组件可以在它们的输出中引用其它组件
 function App() {
                return (
                        <div>
                            <Welcome name="Sara" />
                            <Welcome name="Cahal" />
                            <Welcome name="Edite" />
                            {ele}
                        </div>
                );
            }

警告:
组件必须返回一个单独的根元素。这就是为什么我们添加一个 <div> 来包含所有 <Welcome /> 元素的原因。

提取组件

  • 不要害怕把一个组件分为多个更小的组件。
  • 所有 React 组件都必须是纯函数,并禁止修改其自身 props 。

相关文章

网友评论

    本文标题:React 组件(Components) 和 属性(Props)

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