Состояние Реакции Против Хранения Данных

#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 рендеринге.