Здесь происходит несколько вещей.
Во-первых, это всего лишь пример компонента со статическим запросом.Он просто показывает пример запроса graphql для извлечения изображения и визуализации данных изображения.Вы, вероятно, вызовете это из родительского компонента.
Вы можете создать такой компонент для каждого изображения, но вам не нужно.
Используя приведенный выше пример, вы не можете передатьпараметры.Я недавно пробовал, но интерполированная строка graphql не допускает входящие параметры, но для этого примера есть обходной путь, как показано в этой ссылке , опубликованной Уэсом Босом.Короче говоря, обходной путь заключается в том, чтобы использовать запрос graphql для возврата каждого изображения, а затем использовать что-то вроде map для выделения интересующего изображения.Используя этот обходной путь, мне удалось создать обобщенную версию примера в вашем посте, в котором я передаю имя интересующего изображения.Хотя, очевидно, не идеально, если у вас есть сотни изображений на вашем сайте.
Вы можете передавать параметры в запросы graphql для «компонента страницы».Учебное пособие по Gatbsy (https://www.gatsbyjs.org/tutorial/) отлично, я не могу не подчеркнуть, насколько целесообразно было бы пройти весь этот учебник. В частях четвертой и пятой рассказывается о graphql и работе с запросами и изображениями.
При работе с изображениями предлагается использовать gatsby-image (https://www.gatsbyjs.org/packages/gatsby-image/),, который используется в примере.
Я также создал еще один общий компонент изображения, который принимает данные изображения, а неимя изображения, как опора. В компоненте родительской страницы я могу определить постоянный запрос graphql и затем передать результаты этого в мой компонент изображения. Этот подход может быть расширен до компонента страницы, который является галереей изображений. Например, запросможет возвращать все изображения в папке или соответствовать reg-ex. Запросы запросов могут быть повторены для создания компонента изображения для каждого изображения путем передачи данных изображения.
Я специально не включил примеры кодапоскольку ссылки содержат примеры всего, что я описал выше.