apollo reactを使用して引数であるidを渡したい
apollo reactを使用して引数であるidを渡したいです。詳細ページに移動したときにurlのところも......../idになっているので問題はないです。
やりたいこととしては、投稿リストがある、その一つ一つに詳細ボタンがついています。その詳細ボタンを押すとForm内容が見れるという感じです。
省略はしていますがここからidを渡して
<div>
<NavLink to={`/AllPostsShow/${id}`}>
<Button onClick={() => detailPostButton(id)}>
詳細
</Button>
</NavLink>
</div>
これでSinglePostShowの中にidはわたっていました。
const detailPostButton = (id:number) => SinglePostShow({id})
その中身は下記です。
import { useQuery, gql } from '@apollo/client'
const SINGLE_POST_DETAIL = gql`
query singleDetail($id: Int) {
singleDetail(id: $id) {
id
title
content
}
}
`
export const SinglePostShow = ({id}:{id:number}) => {
console.log(id,'id')
const {
data,
loading,
error
} = useQuery(SINGLE_POST_DETAIL,{
variables:{
id
},
})
if (loading) return <p>Loading...</p>
if (error) return <p>Error...</p>
const {id:singleId,title,content} = data
return (
<div key={singleId}>
詳細フォーム
<input>{title}</input>
<input>{content}</input>
</div>
)
}
export default SinglePostShow
qraphqlで確認した時もidを引数に渡せば値が返ってきます。
なのでbackendは問題なさそうです。
何がおかしいのでしょうか?