Компилятор React (v1.0): Как предотвратить автоматическое запоминание для намеренно нестабильных вычислений без использоJavascript

Форум по Javascript
Ответить
Anonymous
 Компилятор React (v1.0): Как предотвратить автоматическое запоминание для намеренно нестабильных вычислений без использо

Сообщение Anonymous »

Я использую React Compiler v1.0 в приложении React 19. У меня есть определенные компоненты, для которых я намеренно хочу выполнять новые вычисления при каждом рендеринге из соображений корректности, но компилятор React автоматически запоминает их.
Компилятор React автоматически запоминает все значения, но у меня есть законные случаи использования, когда значения не следует кэшировать между рендерингами. Директива «use no memo» отключает всю оптимизацию компонента, что приводит к отказу от полезного запоминания для других частей компонента.
Код:

Код: Выделить всё

jsxfunction RealtimeMonitor({ sensorId }) {
// This timestamp MUST be fresh on every render for accurate monitoring
const currentTimestamp = Date.now();

// This should be memoized (expensive calculation)
const processedData = processLargeSensorDataset(sensorId);

// This should NOT be memoized (randomization needed each render)
const chartColor = getRandomChartColor();

return (




);
}
Вопрос
Как я могу пометить определенные значения или вычисления внутри компонента как «изменчивые» или «незапоминаемые», позволяя компилятору React продолжать оптимизировать остальную часть компонента? Существует ли специальная директива, рекомендуемый шаблон или конфигурация компилятора, позволяющая смешивать запоминаемые и немемоизированные вычисления без отключения оптимизации для всего компонента?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ionally-vo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»