Мутация в Аполлоне - PullRequest
       11

Мутация в Аполлоне

0 голосов
/ 17 сентября 2018

Это мой код:

<Mutation mutation={addUserQuery}>
{

(addUser, data)=>{
console.log(data)
return (

  <div className="form">
  <form onSubmit={(e)=>{

  e.preventDefault();
  console.log(e);
  addUser({variables: {username: "AuraDivitiae", 
                          firstname: "Michael", 
                          lastname: "Lee"}})

  }}>

  <button type="submit">Add User</button>
  </form>         
  </div>

)
}

}
</Mutation>

Что делает Apollo, когда монтируется компонент мутации?
Мне кажется, что я не совсем понимаю процессы, выполняющиеся внутри Apollo.
Apollo подписывается на результат запроса на мутацию?
Обновляет ли он кеш при возврате?
Сохраняются ли данные в состоянии некоторых компонентов?

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

1 Ответ

0 голосов
/ 18 сентября 2018

<Mutation/> компонент - это ... компонент нормальной реакции - он имеет собственное состояние, жизненные циклы, использует клиент apollo (и его кэш), хранит данные.

Вероятно, немного сбивает с толку тот факт, что при рендеринге мы имеем перерисовки, не вызванные setState нашего компонента.

Если <Mutation/> является компонентом, то де-факто ваш внутренний контент отображается с помощью render функции <Mutation/>, а не в нашем компоненте (он только визуализирует <Mutation/> компонент). Это дополнительный уровень глубины в древовидной структуре компонентов (с собственными жизненными циклами).

...