React 基础题

来源:互联网 发布:linux sqlplus 安装 编辑:程序博客网 时间:2024/06/14 21:15
  1. 提供一个react设计思路:
    将所有的无状态(state)只负责渲染的组件作为子组件封装到父组件包含状态机(state)当中,子组件数据变化是通过父组件的state中变量转换为子组件的props来进行渲染子组件.父组件的state管理子组件的所有props.
  2. react组件选择的基本原则:
    react组件选择最基本的原则在于,该组件的数据是会发生变化,如果该组件的数据不会发生变化,那么该组件应该写为一个静态UI控件.状态机state选择决定用户操作UI交互改变该组件的数据时一般选用为state,属性props一般作为父组件传递修改过后的数据给子组件时使用props属性.
  3. react组件的生命周期函数都有哪些?分别有什么作用?在什么时候加载?
    (1).getInitialState 这个函数会在组件被加载前调用一次,它的返回值会成为this.state的初始值
    (2).getDefaultState 这个函数会在组件被创建时调用一次,它的返回值会成为this.props的初始值
    (3).componentWillMount 这个函数在组件的生命周期中只会被调用一次,它在初始渲染render之前执行,当它执行完成之后,render会马上被调用执行.
    (4).componentDidMount 这个函数在组件的生命周期中只会被调用一次,它在初始渲染render之后执行.
    (5).componentWillReceiveProps 该函数在组件初始渲染完成之后,当组件接收到新的props时,这个函数将被调用
    (6).shouldComponentUpdate 组件在初始渲染之后,组件接收到新的state或者props时,该函数将被调用
    (7).componentWillUpdate 组件在初始渲染之后,React native框架在重新渲染组件前会调用这个函数.
    (8).componentDidUpdate 组件在初始渲染之后,React native框架在重新渲染组件之后会调用这个函数.
    (9).componentWillUnmount 组件被卸载时,这个函数将被执行.
  4. 怎么干预组件是否应该被渲染? 怎么强制组件渲染?
    (1).在组件基本的生命周期中,shouldComponentUpdate 如果实现了这个函数,那么组件在决定重新渲染之前会先调用该函数,如果该函数返回值为false那么组件会放弃重新渲染.
    (2).react框架使用forceUpdate函数向开发者提供强制启动渲染能力,在使用该函数时,组件重新渲染之前不会调用shouldComponentUpdate.
  5. 组件的引用的方式是什么样的?调用引用组件的方式是什么样的?组件的引用应该定义在哪里?
    (1).组件引用的方式,只需要在组件定义里新增 ref = ‘组件名’
    (2).调用引用组件 this.refs.’组件名’
    (3).引用组件定义在父级组件当中,并且只能被父级和当前兄弟级组件调用.
0 0
原创粉丝点击