Learning World
Posted dajunjun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Learning World相关的知识,希望对你有一定的参考价值。
1. 不能在包含JSX 元素的 map 循环中使用 if 表达式
2. 不能在Array.map 之外的方法中操作 JSX 数组
3. 不能在JSX参数中使用匿名函数
4.不支持在render() 之外的方法中定义JSX
所有的JSX定义,都要写在 render()中
> render(){
> const header = <View><Text>Header</Text></View>;
> const {showHeader} = this.state
>
> return (
> <View>
> {
> showHeader&&header
> }
> <View>
> <Text>Body</Text>
> </View>
> </View>
> )
> }
>
5. 不要再JSX的参数(props)中使用对象展开操作符
6. 不支持无状态组件
7.自定义组件样式不能受外部样式影响
即不要给自定义组件添加 className 或者 style 属性以期望控制自定义组件的展示
8.给自定义的组件设置 defaultProps 和 propTypes
class extends Component { |
####9.组件传递函数属性以 on 开头
Class Parent extends Component { |
10.不要在组件中打印传入的函数
11.不要将在模板中用到的数据设置为 undefined
如果某个数据不使用了,可以设置成 null
12.不要在组件中打印 this.props.chidren
13. props中可以传入JSX
14. 属性值不能以 id,class,style 为名称
15. state 和 props 的字段不能重名
16.生命周期差异
— 在componentWillMount() 中即 onLoad 的时候才能拿到路由
— 子组件的 constructor 和 render 初始化时会被提前调用一次
17. JS编码必须使用单引号
18. 环境变量需要直接使用 process.env
19. 页面跳转时,在 componentWillMount() 前可以通过预加载拿到参数进行页面请求
> class Index extends Component{
>
>
> componentWillPreload(params) {
> // Step 2.
> return this.fetchData(params.url)
> }
>
> // Method Define
> fetchData () {
> this.isFetching = true
>
> }
>
> // Step 3.
> componentWillMount(){
> console.log('is Fetching: ', this.isFetching)
> this.$preloadData
> .then( res => {
> console.log( 'res', res)
> this.isFetching = false
> })
> }
> }
>
- 通过componentWillPreload接收页面跳转参数作为参数;
- 在componentWillPreload 中通过 return 将需要加载的内容返回;
- 在页面中触发 componentWillMount, 然后通过 this.$preloadData 获取到预加载的内容,然后再处理数据;
20. 使用this.$preload 函数进行页面跳转传参数
使用 this.$preload 可以传入单个参数也可以传入多个参数
this.$preload('key', 'val') |
this.$preload({ |
21. 使用PurComponent减少不必要的渲染
class Home extends Taro.PureComponent { |
以上是关于Learning World的主要内容,如果未能解决你的问题,请参考以下文章
机器学习笔记1 - Hello World In Machine Learning
阅读笔记-Deep learning for person re-identification: A survey and outlook
TensorFlow by Google神经网络深度学习的 Hello World Machine Learning Foundations: Ep #1 - What is ML?