zoukankan      html  css  js  c++  java
  • state 和 props 之间的区别

    setState() 会对一个组件的 state 对象安排一次更新。当 state 改变了,该组件就会重新渲染。

     props(“properties” 的缩写)和 state 都是普通的 JavaScript 对象。它们都是用来保存信息的,这些信息可以控制组件的渲染输出,而它们的一个重要的不同点就是:props 是传递组件的(类似于函数的形参),而 state 是在组件被组件自己管理的(类似于在一个函数内声明的变量)。

    我应该如何更新那些依赖于当前的 state 的 state 呢?

    调用 setState 其实是异步的 —— 不要指望在调用 setState 之后,this.state 会立即映射为新的值。如果你需要基于当前的 state 来计算出新的值,那你应该传递一个函数,而不是一个对象

    给 setState 传递一个对象与传递一个函数的区别是什么?

    传递一个函数可以让你在函数内访问到当前的 state 的值。因为 setState 的调用是分批的,所以你可以链式地进行更新,并确保它们是一个建立在另一个之上的

    为什么 React 不同步地更新 this.state

    开始重新渲染之前,React 会有意地进行“等待”,直到所有在组件的事件处理函数内调用的 setState() 完成之后。这样可以通过避免不必要的重新渲染来提升性能。

    参考:https://react.docschina.org/docs/faq-state.html#what-is-the-difference-between-state-and-props

  • 相关阅读:
    WSS3.0安装或使用的系统服务
    sql面试题
    C#實現SQL Server中存取圖片、文件
    group by
    游标
    ASP.NET MVC WEB API OAuth2Authorize
    [转载]Asp.net MVC中Controller返回值类型
    ASP.NET MVC 3:缓存功能的设计问题
    asp.net mvc api BasicHttpAuthorizeAttribute
    ASP.NET MVC 3和Razor中的@helper 语法
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/13219822.html
Copyright © 2011-2022 走看看