import { gql, useMutation } from '@apollo/client' const CREATE_POST_MUTATION = gql` mutation createPost($title: String!, $url: String!) { createPost(title: $title, url: $url) { id title votes url createdAt } } ` const Submit = () => { const [createPost, { loading }] = useMutation(CREATE_POST_MUTATION) const handleSubmit = (event) => { event.preventDefault() const form = event.target const formData = new window.FormData(form) const title = formData.get('title') const url = formData.get('url') form.reset() createPost({ variables: { title, url }, update: (cache, { data: { createPost } }) => { cache.modify({ fields: { allPosts(existingPosts = []) { const newPostRef = cache.writeFragment({ data: createPost, fragment: gql` fragment NewPost on allPosts { id type } `, }) return [newPostRef, ...existingPosts] }, }, }) }, }) } return (

Submit

) } export default Submit