条件渲染

107 阅读2分钟

通过state状态作为条件,来判断显示哪个组件。

简介

  • 在React中,你可以创建不同的组件来封装各种你需要的行为。然后,依据应用的不同状态,你可以只渲染对应状态下的部分内容。
  • React中的条件渲染和JS中的儿一样,使用JS运算符if或者条件元素安抚去创建元素来表现当前的状态,然后让React根据它们来更新UI.
  • 例如:登陆组件,登陆前和登陆后渲染不同的组件。

两个组件之间进行切换方法

方法一:逻辑语句(注意要写在render里,把return写在逻辑语句里) 方法二:直接用三目运算符进行切换 方法三:使用逻辑与或逻辑非运算符

key值

keys在DOM中的某些元素被增加或删除的时候帮助React示别哪些元素发生了变化。因此你应当给数组中的每一个元素赋予一个确定的标识。

为什么数组index作为key值不安全?

用index作为key值,会有bug,如果实在没有id,就用index。主要是因为如果渲染出来之后,这个元素没有重新排列的话是没有关系的,下次渲染顺序被打乱的话会出现问题。

用什么作为key值?

大多数都用服务器请求回来的数据里面id值作为key值。

key值的作用?

key值在兄弟之间是唯一的就可以了,因为它的作用域就渲染在了当前作用域

深度解析key的必要性(面试题)

也是key的作用

Keys是React用于追踪哪些列表中元素被修改、被添加或者被移除的辅助标识。 在开发过程中,我们需要保证某个元素的key的其同级元素具有唯一性。在Recat Diff算法中,React会借助元素的key值来判断该元素是新创建的还是被移动而来的元素,从而减少不必要的元素重新渲染。此外,React还需要借助Key值来判断元素与本地状态的关联关系,因此我们决不可忽视转换函数中key的重要性。