Notice: file_put_contents(): Write of 17157 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50
Frontender Libs - обзор библиотек JS / CSS@sWebDev P.3620
SWEBDEV Telegram 3620
Принудительный ререндер в React

В React метод flushSync() немедленно обновляет состояние и ререндерит компонент, обходя пакетирование. Это полезно, когда нужно сразу отобразить изменения перед выполнением других операций, например, измерения размеров DOM-элемента.

Обычно React группирует обновления в батчи, но иногда требуется мгновенный ререндер.
import { useState, useRef } 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
👍31🔥1



tgoop.com/sWebDev/3620
Create:
Last Update:

Принудительный ререндер в React

В React метод flushSync() немедленно обновляет состояние и ререндерит компонент, обходя пакетирование. Это полезно, когда нужно сразу отобразить изменения перед выполнением других операций, например, измерения размеров DOM-элемента.

Обычно React группирует обновления в батчи, но иногда требуется мгновенный ререндер.

import { useState, useRef } 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:
tgoop.com/sWebDev/3620

View MORE
Open in Telegram


Telegram News

Date: |

Some Telegram Channels content management tips Telegram desktop app: In the upper left corner, click the Menu icon (the one with three lines). Select “New Channel” from the drop-down menu. Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram. Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators.
from us


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