redux로 상태가 변경되면 connect
이 mapStateToProps
인 구성 요소를 업데이트합니다. 그러나 돌연변이를 수행 할 때 Apollo를 사용하면 동일한 데이터를 사용하는 모든 구성 요소가 새 소품을받습니다.Apollo로 돌연변이를 수행 한 후 별도의 구성 요소를 업데이트하는 방법
아폴로가 데이터 세트가 동일하다는 것을 알지 못하기 때문에 이것이 정상적인 동작이라고 이해합니다. 저는 여기에 얻고 무엇의 예
는const query = gql`query { me { username } }`
@graphql(query)
class Header extends React.Component {
render() {
return <h1>{this.props.data.me.username}</h1>
}
}
const mutation = gql`mutation updateAccount($username: String!) {
updateAccount(username: $username) {
me {
username
}
}
}`
@graphql(mutation)
class Edit extends React.Component {
render() {
# ...
}
onSubmit(e) {
e.preventDefault()
this.props.mutate({variables: {username: this.state.username})
}
}
Header
구성 요소 편집 구성 요소가 username
업데이트로 username
을 밖으로 렌더링합니다. username
이 변경되면 Header
을 다시 렌더링하고 싶습니다. 쿼리를 폴링하지 않고이 작업을 수행하는 방법을 잘 모르겠습니다.