Мутировать изменение состояния объекта

<Mutation mutation = {addUserQuery} variables = {{
  username: "AuraDivitiae",
  firstname: "Michael",
  lastname: "Lee"
}}>
  {
    (addUser, data) => {
      count = count + 1
      console.info("render no:" + count);
      console.info(data)

      return (
        <div className = "form">
          <form onSubmit = {(e) => {
            e.preventDefault();
            new Promise((resolve, reject) => { addUser(); resolve("Mutation function called!") }).
              then((prevData) => { console.info(prevData); console.info(data); })
          }}>
            <button type = "submit">Add User</button>
          </form>
        </div>
      );
    }

  }
</Mutation>

Журналы консоли

    render no:1
    main.js:88 
{called: false, loading: false, data: undefined, error: undefined, client: DefaultClient}

---------------- Нажата кнопка -------------------------------- ----------

    render no:2
    main.js:88 
{called: true, loading: true, data: undefined, error: undefined, client: DefaultClient}

    main.js:98 
Mutation function called!

    main.js:98 
{called: false, loading: false, data: undefined, error: undefined, client: DefaultClient}

    render no:3
    main.js:88 
{called: true, loading: false, data: {…}, error: undefined, client: DefaultClient}

Из этих журналов я вижу, что изначально, когда компонент Mutate монтируется, мы получаем номер рендера: 1. Когда нажимается кнопка в линия, вызывается функция mutate addUser () в обещании, которое разрешается с помощью «Вызывается функция мутации». Однако в журналах он показывает объект результата изменения в main.js: 88, это означает, что это повторный рендеринг компонента.

Мой вопрос в том, обновляет ли вызов функции mutate состояние, которое повторно отображает компонент? И было ли управление передано функции mutate, чтобы компонент был повторно отрисован до того, как обещание могло быть разрешено и впоследствии использовано? Но после повторного рендеринга не должно ли вызываться шоу данных?

Кто угодно, пожалуйста!

Aura Divitiae 17.09.2018 21:39
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
59
0

Другие вопросы по теме