React面试题

1.ReactJS中渲染根组件的方式以及注意事项

答案:ReactDOM.render(A,B);将A渲染到B指定的容器中

注意事项:

       不允许一次渲染多个标签,但是可以放在同一个顶层标签

        每一个标记都要有对应的结束

2.ReactJS中父子组件通信的方式

(1)父与子通信

借助于属性   往下传值

传值:

<son  myName="123"></son>

接收值:

this.props.myName

(2)子与父通信

通过属性传递有参数的方法,让子组件调用时传值

①定义有参数的方法

rcvMsg(msg){}

②传递给子组件

<son  funcRcv={this.rcMsg}></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

原文地址:https://www.cnblogs.com/sna-ling/p/12492297.html