函数式组件

简介: 函数式组件

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





相关文章
|
7月前
|
存储 前端开发 JavaScript
【第29期】一文学会用React类组件编写组件
【第29期】一文学会用React类组件编写组件
80 0
|
1月前
|
前端开发
如何定义和使用React泛型组件
通过合理地定义和使用React泛型组件,可以提高代码的复用性和可维护性,同时增强类型安全性,使React应用程序的开发更加高效和可靠。
56 8
|
3月前
|
前端开发
react学习(15)函数式组件中使用props
react学习(15)函数式组件中使用props
|
6月前
|
缓存 前端开发 JavaScript
如何对 React 函数式组件进行优化
如何对 React 函数式组件进行优化
|
7月前
|
前端开发 JavaScript 开发者
React的函数组件与类组件:探索两者之间的区别
【4月更文挑战第25天】React提供函数组件和类组件,两者在语法、状态管理、生命周期和性能优化上有所不同。函数组件简单且易于理解,使用 Hooks 可添加状态管理;类组件支持复杂状态管理和生命周期方法,适用于需要精细控制更新的场景。随着 Hooks 的发展,函数组件功能增强,成为更多开发者的首选。选择组件类型应根据实际需求权衡。
|
7月前
|
设计模式 前端开发 API
React的高阶组件(HOC):使用与设计模式探讨
【4月更文挑战第25天】React的高阶组件(HOC)是一种复用和增强组件的高级模式,它接受组件并返回新组件。非侵入式增强使得HOC能在不修改原有组件代码的情况下添加功能。定义HOC后,将其应用于目标组件并渲染增强后的组件。常见设计模式包括属性代理、控制反转和装饰器。然而,使用时要注意避免滥用,保持命名清晰,关注性能优化。理解并恰当使用HOC能提升React应用的构建效率。
|
前端开发
react函数式组件模拟几个生命周期
在函数式组件中,你可以使用 useEffect 钩子来模拟类组件中的一些生命周期方法。下面是几个常见的生命周期方法的模拟示例
|
7月前
|
前端开发
高阶组件和高阶函数是什么
高阶组件和高阶函数是什么
66 0
|
7月前
|
Web App开发 存储 前端开发
第五章 在React中如何定义组件
第五章 在React中如何定义组件
121 0
|
7月前
|
前端开发 JavaScript
react的类组件和函数式组件有什么区别
react的类组件和函数式组件有什么区别
192 0

热门文章

最新文章