react 入门-创建组件继承component法

Posted teamlet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react 入门-创建组件继承component法相关的知识,希望对你有一定的参考价值。

React 组件(Component) 也是一种元素Element,只不过是粒度更大一些的、包含更多子元素。

通过React组件,把一些相关的元素组织起来,形成可以复用的、有多个成员的元素的组合。

举例

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>React Components</title>
</head>
<body>

<!-- Target Container -->
<div id="react-container"></div>

<!-- React Library & React DOM-->
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>

<script>
    class foodList extends React.Component 
      render() 
        return React.createElement("ul", "className": "food-list",
            React.createElement("li", null, "1 apple"),
            React.createElement("li", null, "1 banana"),
            React.createElement("li", null, "2 oranges"),
            React.createElement("li", null, "2 tomatos")
        )
      
    
    const list = React.createElement(foodList, null, null)
    ReactDOM.render(
        list,
        document.getElementById('react-container')
    )
</script>

</body>
</html>

1、通过继承 React.Component 创建组件

class foodList extends React.Component 

2、组件中必须包括render函数

class foodList extends React.Component 
      render() 
         // 创建元素的代码
      

3、在render中返回一个元素包含多个子元素的组合

render() 
       return React.createElement(
           "ul", 
           "className": "food-list",
            React.createElement("li", null, "1 apple"),
            React.createElement("li", null, "1 banana"),
            React.createElement("li", null, "2 oranges"),
            React.createElement("li", null, "2 tomatos")
       )

4、通过createElement 传入 component foodList 作为参数创建 list 元素

const list = React.createElement(foodList, null, null)

5、渲染

ReactDOM.render(
        list,
        document.getElementById('react-container')
    )

以上是关于react 入门-创建组件继承component法的主要内容,如果未能解决你的问题,请参考以下文章

React入门---组件嵌套-5

快速入门react

React的class组件及属性详解!

解读 React.memo

React入门2

React入门2