react遇到的各种坑】的更多相关文章

[React设置宽度的坑] 我们知道通过ref可以获取DOM元素,通过style属性可以给此DOM元素添加样式. 但下面两行的赋值是无效的: this.HomeRootDiv.style.width=window.screen.width this.HomeRootDiv.style.height=window.screen.height 因为style中的width.height是有单位的,必须加上px才是有效的赋值.所以要改成下面这样 this.HomeRootDiv.style.width…
[React中innerHTML的坑] 通过React Ref机制返回的对象,是一个阉割的DOM对象,并非原始DOM对象.比如,这个阉割版的DOM对象没有innerHTML对象. <button ref={this.setVerifyButton}> 发送验证码 </button> 上面的代码通过ref来获取一个dom对象,但这个对象是没有innerHTML属性的. 为了获取innerHTML,我们需要通过document.getElementById("")来…
好久没写博客了,特地把之前接触React Native时遇到的坑总结一下. 初始化一个React Native项目时,可能会遇到以下这些坑: 1.项目版本号与安卓模拟器中安装的 compileSdkVersion 和 buildToolsVersion 版本不一致,这时候可以直接修改 项目 => android => app => build.gradle文件下的版本号,如下: 2.初始化一个项目并运行项目时,可能会一直报错,这时有可能是因为缺少 local.properties文件,该…
cp from : https://www.jianshu.com/p/6a45e2dfc9d9 万恶的根源 距离React Router v4 正式发布也已经过去三个月了,这周把一个React的架子做了升级,之前的路由用的还是v2.7.0版的,所以决定把路由也升级下,正好“尝尝鲜”... 江湖传言,目前官方同时维护 2.x 和 4.x 两个版本.(ヾ(。ꏿ﹏ꏿ)ノ゙咦,此刻相信机智如我的你也会发现,ReactRouter v3 去哪儿了?整丢了??巴拉出锅了???敢不敢给我个完美的解释!?)事…
其实有些也不能算是坑,有些是react的规定,或者是react的模式和平常的js处理的方式不同罢了 1.setState()是异步的this.setState()会调用render方法,但并不会立即改变state的值,state是在render方法中赋值的.(这里我描述的不对,多谢评论区大神指点,setState只是将任务交给任务队列,本身没有执行任务)所以执行this.setState()后立即获取state的值是不变的.同样的直接赋值state并不会出发更新,因为没有调用render函数.…
第一次尝试React+antd,发现果然不愧是传说中的坑货,一个又一个坑.必须要记录. react + antd,都是最新版本,使用npm和yarn各种add,build,start 1. 资源文件,图片文件,路径在build之后会不能用 我们希望的是http://xxxxxxx/AAA/img/XX.png 但build之后给出的是http://xxxxxxx/static/media/XX.png 解决方案: node_modules -> react-scripts -> config…
函数组件比类组件更加方便实现业务逻辑代码的分离和组件的复用,函数组件也比类组件轻量,没有react hooks之前,函数组件是无法实现LocalState的,这导致有localstate状态的组件无法用函数组件来书写,这限制了函数组件的应用范围,而react hooks扩展了函数组件的能力.可是在使用的过程中,也要注意下面这些问题,否则就会掉进坑里,造成性能损失.按照下面的方法做,,才能避开这些陷阱. 1. 将与状态改变无关的变量和方法提取到组件函数外面 每次状态改变时,整个函数组件都会重新执行…
开启Genymotion Android模拟器后 1.运行“react-native run-android”报端口冲突....解决方法: 2.运行“react-native run-android”报找不到 Build Tools revision 版本号 解决方法:找到对应的版本,进行安装. P.S.:当看到这个鬼东西,就表示运行成功了.... 3.运行报'RawText"      "must be wrapped in an explicit <Text> comp…
注意:老铁些,在看这篇文章的之前,最好了解一下react 的全局状态管理库哦,不然可能会坐飞机. ^_^ React 之reflux (它是一个功能模块,需要安装引入): import Reflux from 'reflux'; let action = Reflux.createAction();//1使用 let actions = Reflux.createActions(['add','delete','check']);//1使用 let store = Reflux.createSt…
1.模拟器报错no bundle url present https://github.com/facebook/react-native/issues/12754 http://www.cnblogs.com/dragon-aslan/p/6965014.html 2.模拟器快捷键 回到首页: Cmd + Shift + H 按一次 HOME键摁两次: Cmd + Shift + H 按两次 旋转 :Cmd + 左/右 类似手机长按 : 鼠标放app图像上,长摁电脑左下角,然后Cmd + Sh…