网站首页 > 教程文章 正文
1. ReactJS中渲染根组件的方式以及注意事项
答案:
ReactDOM.render(A,B);将A渲染到B指定的容器中
注意事项:
不允许一次渲染多个标签,但是可以放在同一个顶层标签
每一个标记都要有对应的结束
2.ReactJS中父子组件通信的方式
(1)父与子通信
借助于属性 往下传值
传值:
<son myName=”123”></son>
接受值:
this.props.myName
(2)子与父通信
通过属性传递有参数的方法 让子组件调用是传值
①定义有参数的方法
rcvMsg(msg){}
②传递给子组件
<son funcRcv={this.rcvMsg}></son>
③子组件来调用
This.props.funcRcv(123)
3.如何在组件渲染时调用组件内部嵌套的子组件
This.props.children
4.组件的生命周期
mount:
componentWillMount
componentDidMount
update:
componentWillUpdate
componentDidUpdate
componentWillReceiveProps
unmount:
componentWillUnmount
5.在组件渲染时 实现判断和循环功能
(1)判断
短路逻辑
{ expression && <Any></Any> }
(2)循环
遍历集合
this.state.list
.map((value,index)=>{
return <li key={index}>
{value}
</li>
})
6.描述ReactNative的特点和开发理念
ReactNative是实现原生开发的框架
可以使用react的语法和js来编写
开发理念:
Learn once,write anywhere
7、react中是如何处理网络通信的
fetch(url).then((response)=>response.json()).then((result)=>{})
8、react中循环创建多个组件时指定key的作用?
在dom变化时 快速定位元素 提升更新效率
9、react的生态圈(技术栈)中有哪些常见技术?
reactjs、 reactNative、 react360 、flux、 redux、 ssr、 reactNavigation....
10、基于reactNative的reactNavigation中的基础用法?
跳转:
this.props.navigation.navigate()
传参:
this.props.navigation.navigate(‘detail’,{id:10})
this.props.navigation.getParam(‘id’)
11、reactNative中如何实现一个高性能列表
import {FlatList} from ‘react-native’
showItem=(info)=>{
return ****
}
<FlatList data={[1,2,3]} renderItem=”showItem”></FlatList>
12、reactNative中如何完成自定义布局?
可以使用c3中的flexbox
13、react的主要功能有哪些?
①使用虚拟DOM,而不是真正的DOM
②遵循单向数据流
14、简述使用react的优缺点
优点:
提高了应用性能和开发效率;
使用JSX,代码可读性好;
react的componentWillUnmount生命周期,能够清除相关所有事件,避免内存泄露;
并不直接对DOM进行操作,引入了一个虚拟DOM的概念,安插在js和真实DOM中间,性能好,速度快 。
缺点:
每次 state 更改,render 函数都要生成完整的虚拟 DOM. 哪怕 state 改动很小,render函数也会完整计算一遍。如果 render 函数很复杂,这个过程就白白浪费了很多计算资源。
15、VUE与React两个框架的有哪些区别?
相同点:
用于创建UI的js库
使用起来轻快便捷
都用了虚拟DOM
都是基于组件的架构
不同点 :
vue使用的html模板;react使用的是js;
vue有双向绑定语法;
vue增加了语法糖computed和watch等,react需要自己写逻辑来实现;
react用了jsx语法;
react整体思路是编程式,推荐组件化,数据不变,单向数据流;vue数据可变,双向绑定,声明式的写法。
16、React中的key值的作用是什么?
key是用于追踪那些列表中元素被修改,删除或者被添加的辅助标识。在diff算法中,key用来判断该元素节点是被移动过来的还是新创建元素,减少不必要的元素重复渲染。
17、render函数什么时候会执行?
当this.setState发生变化时就会更新。
18、this.setState执行后会执行哪些生命周期函数?
shouldComponentUpdate、componentWillUpdate、render、componentDidUpdate...
19、call、apply、bind三者之间的区别?
call和apply都是直接调用函数的;
bind每次调用执行的时候都会返回一个新的函数体,新的函数体内部的this指向才是我们需要改变指向的this。
20、如何控制路由的路径完全匹配?
在NavLink或者Route标签中添加exact属性,是路径完全匹配。
- 上一篇: 认识一下 TSX 吧(来认识一下)
- 下一篇: React系列十 - 高阶组件以及组件补充
猜你喜欢
- 2025-06-18 让 React 代码行数减少78%的 htmlx 有这么神?
- 2025-06-18 如何做 React 性能优化?(react 项目优化)
- 2025-06-18 React 渲染流程可视化,有大佬实现了!
- 2025-06-18 与 Vue 相伴四年,终究还是没抵住 React 的巨大诱惑
- 2025-06-18 25、Tailwind:魔法速记术——React 19 样式新思路
- 2025-06-18 推荐!React 生态不容错过的6大顶级虚拟滚动库?
- 2025-06-18 React18 Hook中的useState和useEffect
- 2025-06-18 8.3K star!React Bits,让你拥有全网几乎所有动画效果
- 2025-06-18 前端开发React18 - useEffect(前端开发工程师是干什么的)
- 2025-06-18 react-store(react18+)-同步和异步操作仓库
- 最近发表
-
- 一课译词:一刀两断(一刀两断成语解释)
- 核心短语break up用法解析(breakd短语)
- HTML+CSS 实现商品图片列表放大视觉效果 复制完整代码即可马上调用
- 前端实现右键自定义菜单(前端实现右键自定义菜单怎么设置)
- Python中docx与docxcompose批量合并多个Word文档并添加分页符
- Java 将Excel转为XML(java将xls转换成xlsx)
- jq+ajax+bootstrap改了一个动态分页的表格
- css兼容性问题及一些常见问题汇总大全,赶快收藏!
- Java 的业务逻辑验证框架 之-fluent-validator
- 小程序cover-view踩坑系列2(微信小程序overflow)
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)