react 入门-创建组件(2)无状态功能函数法
来源:互联网 发布:绿盾监控软件 编辑:程序博客网 时间:2024/06/10 07:40
前面说的是通过继承React.Component创建React组件。
还可以通过无状态的功能函数构造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> const foodList = ({items}) => React.createElement( "ul", {className: "food-list"}, items.map((item, i) => React.createElement("li", { key: i }, item) ) ) const items = [ "1 apple", "1 banana", "2 oranges", "2 tomatos" ] ReactDOM.render( React.createElement(foodList, {items}, null), document.getElementById('react-container') )</script></body></html>
声明一个无状态功能函数 foodList
:其中 items
是传入的形参参数; React.createElement
是函数体和返回值
const foodList = ({items}) => React.createElement( "ul", {className: "food-list"}, items.map((item, i) => React.createElement("li", { key: i }, item) ) )
另外一个匿名函数是items.map()里面的作为参数传入的函数 item
是 items
数组里的每一个值,i是items数组的index, item = items[i]
items.map((item, i) => React.createElement("li", { key: i }, item))
这句的作用是把 items里面的每个值,转换成一个React Element。
每个item都构造成对应html的<li>
,包含一个key的属性以及item的内容。
ReactDOM.render( React.createElement(foodList, {items}, null), document.getElementById('react-container'))
在ReactDom渲染的时候,以前面创建的无状态功能函数foodList
构造React.createElement,并传入实参{items}
。
阅读全文
0 0
- react 入门-创建组件(2)无状态功能函数法
- react-bits:无状态函数组件
- react 入门-创建组件(1)继承component法
- React 的无状态函数
- react---react创建组件的三种方式以及区别:无状态组件、工厂模式、es6语法定义
- React总结6:无状态组件
- react 入门-创建组件(3)工厂方法
- Flutter入门之无状态组件
- React无状态组件更新props时会失去焦点
- 深入理解React 组件状态(State)
- React学习笔记_无状态组件(Stateless Component) 与高阶组件
- react组件创建方式
- React 创建对话框组件
- React Native入门(十)之导航组件React Navigation(2)TabNavigator和DrawerNavigator
- react 函数式组件
- react(三)组件内部状态state使用方式
- react 入门-创建元素
- React入门02-react的组件
- Oracle数据库安装并配置PL/SQL连接方式
- pandas之read_excel()和to_excel()函数解析
- 20171214
- HTTP请求中的请求字段
- Intent startActivityForResult传值
- react 入门-创建组件(2)无状态功能函数法
- Servlet3.0的注解支持
- 数据结构之堆排序(java)
- bpython:界面丰富的Python解析器
- 文件映射实现对文件信息的增删改查
- IE/FIREFOX/CHROME等浏览器保存COOKIE的位置
- 6、MyBatis的动态SQL
- SSL_2289 庆功会
- VMware 开机黑屏