RN小白笔
文章目录
在 index.js 中加入一行代码
console.disableYellowBox = true;
2. ### 在Chrome中查看网络请求
在index.js(ts)中加入以下代码(chrome需要进行跨域设置)if (__DEV__) { GLOBAL.XMLHttpRequest = GLOBAL.originalXMLHttpRequest || GLOBAL.XMLHttpRequest }
"emmet.triggerExpansionOnTab": true,
"emmet.includeLanguages": { "javascript": "javascriptreact" }
可补全标签
4. react native中如果配置了.env
,在其中添加配置项时reloadjs是取不到值的,需要重新执行react-native run-ios
或者react-native run-android
来重启服务
5. ### react-navigation 返回并传递参数的方法
1 | navigate('Detail', { |
1 | const {navigate,goBack,state} = this.props.navigation; |
- 第一种 在需要打断点的地方debugger
- 第二种 利用vscode的调试功能
当组件本身只是用来展示,所有数据都是通过props传入的时候,我们便可以使用Stateless Functional Component来快速创建组件。例如下面代码所示:
1 | import React from 'react'; |
这种组件,没有自身的状态,相同的props输入,必然会获得完全相同的组件展示。因为不需要关心组件的一些生命周期函数和渲染的钩子,所以不用继承自Component显得更简洁。
8. ### 组件的条件渲染注意点
根据条件来确定是否渲染React元素时,只有变量为true时才会渲染。例如:
1 | <div> |
上面的JSX只会在showHeader为true时渲染<Header/>
组件。
值得注意的是,JavaScript 中的一些 “falsy” 值(比如数字0
),它们依然会被渲染。例如,下面的代码不会像你预期的那样运行,因为当 props.message
为空数组时,它会打印0
:
1 | <div> |
要解决这个问题,请确保 &&
前面的表达式始终为布尔值:
1 | <div> |
相反,如果你想让类似 false
、true
、null
或 undefined
出现在输出中,你必须先把它转换成字符串 :
1 | <div> |