#reactjs #object #state #use-state #use-ref
Вопрос:
Я хочу сохранить некоторые данные в своем компоненте во время рендеринга: например
export default function ExampleComponent(){
const [renderData, setRenderData] = useState("I am render data/state")
let o = {
question: "will this data persist through re-renders?"
}
render(
<div>
{renderData}
</div>
)
}
Безопасно ли хранить данные и обновлять их подобным образом (o)? Или мне нужно хранить его с помощью крючка пользователя? Если это так, то почему?
Моя мысленная модель заключается в том, что useState используется для хранения данных, связанных с визуализацией и повторной визуализацией пользовательского интерфейса, и что данные объекта (o) не затрагиваются и сохраняются.
useRef используется для получения доступа к определенным элементам DOM и/или управления ими.
Является ли это правильным предположением?
Стив
Комментарии:
1. Извините, но где вы обновили данные в своем примере?
2. Нет, useRef можно использовать, когда вам нужна изменяемая ссылка. Хороший крючок для хранения
o
илиquestion
3. @RameshReddy Нужно ли мне использовать useRef для хранения объекта? Не сохраняется ли (o) при повторной визуализации, если я обновляю данные setRenderData? Или при повторном рендеринге реагирует ли полностью воссозданный компонент ExampleComponent?
4. Что вы подразумеваете под безопасностью?
5.
o
будет переопределяться при каждомExampleComponent
рендеринге.