- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
据我所知, getInitialState 在组件的生命周期中被调用一次,而 componentDidMount 在组件渲染时被调用。
那么这是否意味着两者在组件的生命周期中都只会被调用一次?有什么区别?
最佳答案
getInitialState
在组件第一次实例化时被调用。它应该始终返回一个对象,并且该对象将是组件内 this.state
的初始状态。如果您不愿意,则不必定义 getInitialState
,也许您不需要内部状态,在这种情况下,请勿定义它。
componentDidMount
。但并不是像您所建议的那样,每次渲染组件时都会如此。如果您正在寻找每次渲染组件时运行的东西(render
除外),请查看 componentWillUpdate和/或componentDidUpdate .
至于主要区别,getInitialState
从字面上看只是应该返回该组件的初始状态,仅此而已。该函数早在组件实际渲染到 DOM 之前就已执行。 componentDidMount
在组件渲染到 DOM 后直接执行,因此,例如,您现在可以执行需要组件首先位于 DOM 上的操作,例如使用 this.getDOMNode( )
检查组件根 HTML 元素的确切高度,或修改其滚动位置。
你是对的,两者在 React 组件实例的生命周期中只会被调用一次。
关于facebook - Reactjs中componentDidMount和getInitialState的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30902924/
我正在寻找进入react.js的方法,但无法弄清楚为什么getInitialState被调用的次数比我预期的要多。我正在尝试编写一个组件,该组件将某些值显示为标签,并且可以通过显示输入文本以及保存或取
我是 React 的新手,我正在尝试制作抵押计算器,同时学习框架的基础知识。我的问题是,如何解决当我更改任何输入字段时,getInitialState 设置的 rate 到 2 的问题与其他所有内容一
我有一个 React 组件,单击该组件时会切换 className var Foo = React.createClass({ getInitialState: function() {
当使用通过 props 传入的数据设置组件的初始状态时,我是否应该创建一个新对象,执行类似...的操作 getInitialState: function () { return {
我在更新此代码以使用 ECMAScript6 标准时遇到问题。我曾经在一个普通的 javascript 对象上设置 getInitialState 并将其传递给 React.createClass A
我是 React js 的新手。 getDefaultProps () { return { backgroundColor: 'gray', height:
我对 React 的使用和模式有一些疑问。 我应该使用 componentDidMount 或 getInitialState 在异步加载数据?两者有什么区别? 我正在为我的前端数据结构使用 Back
我在 Babel 中使用 ES6 类。我有一个看起来像这样的 React 组件: import { Component } from 'react'; export default class MyR
我正在制作一些按钮,这些按钮将根据数据库的状态显示特定的类别。 我已使用以下命令通过发射器将 API 结果传递到我的状态: constructor(props) { super(props
这是我在 React 中的代码。我有多个用于不同功能的 getInitialState 实例。但是,我发现让它们全部以这种方式运行可能存在问题。 getInitialState: function()
我有以下组件(radioOther.jsx): 'use strict'; //module.exports =
这个问题已经有答案了: Class extends React.Component can't use getInitialState in React (3 个回答) 已关闭 7 年前。 当我将常规
这可能是一个新手问题,但我想知道为什么 React.js 渲染组件两次 - 一次是在 getInitialState() 生命周期方法被调用时,一次是在 componentDidMount(). 在哪
This React 文档页面显示,异步请求的数据应在 componentDidMount 事件中使用,而 getInitialState 将状态对象初始化为默认的空状态。 这有什么原因吗?也许 ge
我见过两者可以互换使用。 两者的主要用例是什么?有优点/缺点吗?是一种更好的做法吗? 最佳答案 这两种方法不可互换。使用 ES6 类时,您应该在构造函数中初始化状态,并在使用 React.create
我正在 React 中尝试 ES6 语法,并编写如下组件: export default class Loginform extends React.Component { getInitia
我正在 React 中尝试 ES6 语法,并编写如下组件: export default class Loginform extends React.Component { getInitia
场景: 在同一个祖父包装器 ( -> ) 中重用组件 ( -> ) 以实现代码重用。 首先,我分配了一个数据数组并循环以重新使用子组件 ( -> )。 对于第二个,它只是一个对象(具有与数组对象相
我正在尝试编写我的第一个 react 控件。这是我写的 import React from 'react'; import DimensionPickerAction from '../actions
我是一名优秀的程序员,十分优秀!