Telegram Group & Telegram Channel
Управление асинхронным рендерингом

Метод flushSync() позволяет немедленно обновить состояние и выполнить ререндер, обходя пакетную обработку обновлений. Это полезно, когда требуется мгновенно обновить интерфейс перед выполнением других операций, например, чтением размеров DOM.

Например, кнопка изменяет текст элемента, и нам нужно получить его новую ширину до следующего рендера:
import { useState } from "react";
import { flushSync } from "react-dom";

function Example() {
const [text, setText] = useState("Нажми меня");
const spanRef = useRef(null);

function handleClick() {
flushSync(() => {
setText("Текст изменился!");
});

console.log("Ширина:", spanRef.current.offsetWidth);
}

return (
<div>
<button onClick={handleClick}>Изменить</button>
<span ref={spanRef}>{text}</span>
</div>
);
}


flushSync() гарантирует, что offsetWidth обновится после изменения текста, а не после следующего рендера.

👉 @sWebDev



tg-me.com/sWebDev/3608
Create:
Last Update:

Управление асинхронным рендерингом

Метод flushSync() позволяет немедленно обновить состояние и выполнить ререндер, обходя пакетную обработку обновлений. Это полезно, когда требуется мгновенно обновить интерфейс перед выполнением других операций, например, чтением размеров DOM.

Например, кнопка изменяет текст элемента, и нам нужно получить его новую ширину до следующего рендера:

import { useState } from "react";
import { flushSync } from "react-dom";

function Example() {
const [text, setText] = useState("Нажми меня");
const spanRef = useRef(null);

function handleClick() {
flushSync(() => {
setText("Текст изменился!");
});

console.log("Ширина:", spanRef.current.offsetWidth);
}

return (
<div>
<button onClick={handleClick}>Изменить</button>
<span ref={spanRef}>{text}</span>
</div>
);
}


flushSync() гарантирует, что offsetWidth обновится после изменения текста, а не после следующего рендера.

👉 @sWebDev

BY Frontender Libs - обзор библиотек JS / CSS




Share with your friend now:
tg-me.com/sWebDev/3608

View MORE
Open in Telegram


Frontender Libs обзор библиотек JS CSS Telegram | DID YOU KNOW?

Date: |

For some time, Mr. Durov and a few dozen staffers had no fixed headquarters, but rather traveled the world, setting up shop in one city after another, he told the Journal in 2016. The company now has its operational base in Dubai, though it says it doesn’t keep servers there.Mr. Durov maintains a yearslong friendship from his VK days with actor and tech investor Jared Leto, with whom he shares an ascetic lifestyle that eschews meat and alcohol.

A Telegram spokesman declined to comment on the bond issue or the amount of the debt the company has due. The spokesman said Telegram’s equipment and bandwidth costs are growing because it has consistently posted more than 40% year-to-year growth in users.

Frontender Libs обзор библиотек JS CSS from us


Telegram Frontender Libs - обзор библиотек JS / CSS
FROM USA