Как добавить дополнительные сведения о детях внутри useRef

#javascript #reactjs #react-hooks #use-ref

#язык JavaScript #реагирует на #реагируют-крючки #использование-ссылка

Вопрос:

У меня есть следующие данные, где useRef содержит следующую информацию.

Данные

 {  token: '',   id: '',  versionId: '',  additionalId: '' }  

Вышесказанное исходит от детей внутри useRef() следующим образом.

 const formRef = useRef(); // other logic  // above Data const aboveData = formRef.current.children;  

Есть ли способ, которым я могу добавить children , чтобы удерживать overallInfo блок следующим образом?

 {  token: '',    // these 3 no longer needed but can remain if no way to delete  id: '',  versionId: '',  additionalId: '',   // I want to add this additional block  overallInfo: {  id: '',  versionId: '',  additionalId: ''  } }  

Обновить:

Это форма

 const Form = ({  formRef, }) =gt; (  lt;form id="form" ref={formRef} method="POST"gt;  lt;input name="token" type="hidden" /gt;  lt;input name="id" type="hidden" /gt;  lt;input name="versionId" type="hidden" /gt;  lt;input name="additionalId" type="hidden" /gt;  lt;/formgt; );  export default Form;  

В целом информация ниоткуда не поступает. Я намеренно снова оборачиваю эти 3 ключа, потому что клиенту нужно, чтобы они были в таком формате, когда я публикую.

Вот как я это публикую. в настоящее время это неправильно, потому что я не заворачиваю его в общую информацию.

 export const PostForm = (  formRef,  link, ) =gt; {   // formRef.current.children definitely has all the token,   // id, versionId and additionalId values at this stage   formRef.current.action = link;  formRef.current.submit(); };  

ПРЕДЛОЖЕНИЕ ПО РЕШЕНИЮ НИЖЕ:

 export const PostForm = (  formRef,  link, ) =gt; {  const updatedRequest = {  overallInfo: {},  };   [...formRef.current.children].forEach((child) =gt; {  updatedRequest.overallInfo[child.name] = child.value;  });   const newRef = useRef(updatedRequest);   newRef.current.action = link;  newRef.current.submit(); };  

Комментарии:

1. formRef.current.children будет ли это определено в текущем примере?

2. Пожалуйста, обновите вопрос , чтобы показать нам, как вы используете ссылку (я предполагаю lt;form ref={formRef} ... , но…). Кроме того, откуда overallInfo он взялся и почему вы хотите добавить его в список children form (если я правильно догадываюсь)?

3. @evolutionxbox Он не будет неопределенным, у него есть значения. Проблема больше в том, как я мог бы обернуть его внутри ключа overallInfo.

4. @T. J. Краудер Я обновил вопрос, чтобы показать, как используется форма и как я ее публикую.

5. @karvai спасибо за обновление вопроса. Ответ Ти Джея Краудера все еще действителен. Вы не можете манипулировать DOM — представлениями HTML, как если бы вы были обычным объектом JS.