私は、プロジェクトで Gatsby と GraphQL を少しの間使用しています。このプラットフォームを使用するのはこれが初めてなので、正しい方法をまだ見つけていません。
現在、次のような GraphQL クエリからユーザーのリストをロードする index.js があります。
allUserList {
users {
name
imageUrl
}
}
}
imageUrl は正しいファイル パスを送信する必要があります。つまり、images/image.png
これは、ユーザー情報を表示するために使用される反応コンポーネントに直接送信されます。
const Users = {data} => {
return (
data.users.map(user => {
return (
<User name={user.name} imageUrl={user.imageUrl}/>
)
}
)
}
私が今理解しようとしているのは、imageUrl にはコードベース内の画像への相対 URL が含まれているということです。この URL に対して画像クエリを実行して画像オブジェクトを取得し、それを gatsby 画像に渡す必要があります。このようなもの
{
image: file(relativePath: { eq: 'image.png' }) {
childImageSharp {
fixed(width: 160, height: 160) {
...GatsbyImageSharpFixed
}
}
}
}
ただし、私が理解しているように、ここで画像の URL をパラメーター化することはできません。これについて最善の方法は何ですか?これは、この方法で画像付きのリストを表示する正しいアプローチですか?