当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


ReactJS getSnapshotBeforeUpdate()用法及代码示例


getSnapshotBeforeUpdate()方法在呈现DOM之前被调用。用于在DOM更新后存储状态的先前值。

getSnapshotBeforeUpdate()方法返回的任何值都将用作componentDidUpdate()方法的参数。此函数始终与componentDidUpdate()方法一起使用,反之亦然。

用法:

getSnapshotBeforeUpdate(prevProps, prevState)

参数:它接受两个参数,它们是prevProps和prevState只是相关组件为re-rendered之前的道具或状态。

创建React应用程序:



步骤1:使用以下命令创建React应用程序:

npx create-react-app foldername

步骤2:建立专案资料夹(​​即资料夹名称)之后,使用以下指令移至该资料夹:

cd foldername

例:程序演示了使用getSnapshotBeforeUpdate()方法。在这里,我们将使用状态的先前值和当前值来显示一些文本。

文件名:App.js:

Javascript

import React from 'react'; 
class App extends React.Component { 
  
  // Initializing the state 
  state = { 
    name:'GFG', 
  }; 
  
  componentDidMount() { 
  
    // Changing the state after 1 sec 
    setTimeout(() => { 
      this.setState({ name:'GeeksForGeeks' }); 
    }, 1000); 
  } 
  
  getSnapshotBeforeUpdate(prevProps, prevState) { 
  
    // Displaying the previous value of the state 
    document.getElementById('prev').innerHTML = 
      'Previous Name:' + prevState.name; 
  } 
  
  componentDidUpdate() { 
  
    // Displaying the current value of the state 
    document.getElementById('new').innerHTML = 
      'Current Name:' + this.state.name; 
  } 
  
  render() { 
    return ( 
      <div> 
        <div id="prev"></div> 
        <div id="new"></div> 
      </div> 
    ); 
  } 
} 
  
export default App;

运行应用程序的步骤:从项目的根目录中使用以下命令运行应用程序:

npm start

输出:

参考:https://reactjs.org/docs/react-component.html#getsnapshotbeforeupdate

react-js-img

相关用法


注:本文由纯净天空筛选整理自rbbansal大神的英文原创作品 ReactJS getSnapshotBeforeUpdate() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。