Способ передачи состояния компонента на диаграмму - PullRequest
0 голосов
/ 11 февраля 2020

Я искал, но я не знаю, возможно ли перенести мое состояние компонентов, которые находятся в client / src / components, в мою схему диаграммы graphql /.

Я объясняю себя в своей диаграмме I сделать запрос API * ax2 ios, чтобы получить данные, для которых я делаю новый ObjectGraphQl.

И в этом запросе ios у меня есть дата, которая на данный момент трудна, я хотел бы, чтобы в моем компоненте был вход, который обновляет состояние, и это состояние отправляет его на диаграмму, чтобы моя дата это состояние, я не знаю, достаточно ли оно ясно.

const RootQuery = new GraphQLObjectType({
  name: "RootQueryType",
  fields: {
    matchs: {
      type: new GraphQLList(NumGamesType),
      resolve(parentValue, args) {
        return axios
          .get(
            `http://data.nba.net/10s/prod/v1/20200209/scoreboard.json`
          )
          .then(response => response.data.games);
      }
    },
    match: {
      type: detailType,
      args: {
        gameId: { type: GraphQLString }
      },
      resolve(parentValue, args) {
        return axios
          .get(
            `http://data.nba.net/10s/prod/v1/20200209/${
            args.gameId
            }_boxscore.json`
          )
          .then(response => response.data);
      }
    }
  }
});

И следуйте всем моим GraphQlObjectype ex:

const NumGamesType = new GraphQLObjectType({
  name: "Matchs",
  fields: () => ({
    gameId: { type: GraphQLString },
    vTeam: { type: vTeamType },
    hTeam: { type: hTeamType }
  })
});

Большое спасибо

1 Ответ

0 голосов
/ 11 февраля 2020

Я не уверен, что понял ваш вопрос, но если я правильно понял, вы хотите иметь компонент с input, который устанавливает значение input в state. Затем вы хотите отправить это состояние с помощью запроса на публикацию в GraphQL, чтобы оно там хранилось?

Вам необходимо создать поле <input />, <button /> для обработки кликов и функцию обработки кликов который отправляет this.state.date в GraphQL.

Эта функция будет устанавливать состояние всякий раз, когда вы вводите что-либо в поле ввода, просто передайте его параметру onChange поля ввода

 handleChange = (e) => {
      this.setState({ date: e.target.value });
 }

Эта функция будет вызывать ax ios для отправки данных в GraphQL, но вам необходимо правильно ее настроить

  handleClick = () => {
      // axios.post(your urls and configuration and parameter of this.state.date)
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...