函数式组件

简介: 函数式组件

1.函数式组件适用于简单组件的开发定义

函数类型不能作为React的节点的,例如下述代码


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="shortcut icon" href="favicon.ico" />
</head>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script src="./react-resource/babel.min.js"></script>
    <script type="text/babel">
        function demo(){ return
        <h1>前端工程师</h1>
        } ReactDOM.render(demo,document.getElementById("test"));
    </script>
</body>
</html>

其会报错


2.引入图标

<link rel="shortcut icon" href="favicon.ico" />



3.将1中的函数进行组件引用的时候

要将组件名改为大写的组件名

记住引入组件的时候,一定要让标签闭合,或者


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="shortcut icon" href="favicon.ico" />
</head>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script src="./react-resource/babel.min.js"></script>
    <script type="text/babel">
        function Demo(){ return
        <h1>前端工程师</h1>
        }; 
        ReactDOM.render(
        <Demo/>,document.getElementById("test"));
    </script>
</body>
</html>

4.在采用babel时创建函数式组件的时候,在函数式组件当中加入console.log(this) //在这里的this是undefined,因为babel执行时采用了严格模式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="shortcut icon" href="favicon.ico" />
</head>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script src="./react-resource/babel.min.js"></script>
    <script type="text/babel">
        function MyComponent(){
            return  <h1>前端工程师</h1>
            console.log(this) //在这里的this是undefined,因为babel执行时采用了严格模式
        }; 
        ReactDOM.render(
        <MyComponent/>,document.getElementById("test"));
    </script>
</body>
</html>

5.测试babel采用了严格模式,将代码复制粘贴到babel官方网站当中,查看是否是"use strict"





6.渲染组件到页面上的过程A.React解析组件标签,找到MyComponent组件B.发现组件是由函数式组件定义的,随后调用该函数,将返回的虚拟DOM转为真实DOM





相关文章
|
3月前
|
前端开发
React函数式组件props的使用(六)
【8月更文挑战第14天】React函数式组件props的使用(六)
53 1
React函数式组件props的使用(六)
|
2月前
|
前端开发
react学习(15)函数式组件中使用props
react学习(15)函数式组件中使用props
|
5月前
|
缓存 前端开发 JavaScript
如何对 React 函数式组件进行优化
如何对 React 函数式组件进行优化
|
6月前
|
前端开发 JavaScript 开发者
React的函数组件与类组件:探索两者之间的区别
【4月更文挑战第25天】React提供函数组件和类组件,两者在语法、状态管理、生命周期和性能优化上有所不同。函数组件简单且易于理解,使用 Hooks 可添加状态管理;类组件支持复杂状态管理和生命周期方法,适用于需要精细控制更新的场景。随着 Hooks 的发展,函数组件功能增强,成为更多开发者的首选。选择组件类型应根据实际需求权衡。
|
前端开发
react函数式组件模拟几个生命周期
在函数式组件中,你可以使用 useEffect 钩子来模拟类组件中的一些生命周期方法。下面是几个常见的生命周期方法的模拟示例
|
6月前
|
前端开发
高阶组件和高阶函数是什么
高阶组件和高阶函数是什么
62 0
|
6月前
|
前端开发 JavaScript
react的类组件和函数式组件有什么区别
react的类组件和函数式组件有什么区别
161 0
|
6月前
|
前端开发
【React学习】—函数式组件(四)
【React学习】—函数式组件(四)
vant-函数式组件用法
vant-函数式组件用法
93 0
|
前端开发
React-父子组件通讯-函数式组件
React-父子组件通讯-函数式组件
62 0