Метод ReactJS getSnapshotBeforeUpdate ()
Метод getSnapshotBeforeUpdate () вызывается непосредственно перед отрисовкой DOM. Он используется для хранения предыдущих значений состояния после обновления DOM.
Любое значение, возвращаемое методом getSnapshotBeforeUpdate (), будет использоваться в качестве параметра для метода componentDidUpdate (). Эта функция всегда используется вместе с методом componentDidUpdate (), но наоборот, неверно.
Синтаксис:
getSnapshotBeforeUpdate (prevProps, prevState)
Параметры: он принимает два параметра, это prevProps и prevState, которые являются просто реквизитами или состоянием перед повторной визуализацией рассматриваемого компонента.
Создание приложения React:
Шаг 1. Создайте приложение React, используя следующую команду:
npx создать-реагировать-приложение имя папки
Шаг 2: После создания папки проекта, т.е. имени папки, перейдите в нее с помощью следующей команды:
cd имя папки
Пример: программа для демонстрации использования метода 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 App; default |
Шаг для запуска приложения: запустите приложение, используя следующую команду из корневого каталога проекта:
npm start
Выход:
Ссылка: https://reactjs.org/docs/react-component.html#getsnapshotbeforeupdate