#reactjs
Вопрос:
У меня есть сценарий, в котором я хочу вывести простое сообщение журнала консоли, когда что-то изменится в состоянии. Мне любопытно, лучше ли первый подход с точки зрения производительности, чем второй.
Первый
const format = React.useMemo( () => {
return JSON.stringify(
QbUtils.jsonLogicFormat(
state.queryState.tree,
state.queryState.config),
null,
2)
}, [state.queryState])
console.log(format)
Второй
useEffect( () => {
console.log(
JSON.stringify(
QbUtils.jsonLogicFormat(
state.queryState.tree,
state.queryState.config),
null,
2)
)
}, [state.queryState]
Я бы обычно использовал второй вариант, и ни один из них не обновляет состояние, а реагирует на изменение состояния. Существует ли соображение о производительности ?
Примечание: Я действительно удалил проверку ошибок, а что нет, для того, чтобы показать код.