Reactjs 如何通过AWS AppSync客户端将包含字符串的变量传递给GraphQL查询?

Reactjs 如何通过AWS AppSync客户端将包含字符串的变量传递给GraphQL查询?,reactjs,graphql,aws-appsync,aws-amplify,appsync-apollo-client,Reactjs,Graphql,Aws Appsync,Aws Amplify,Appsync Apollo Client,我正在使用React JS应用程序通过AWS AppSync客户端和GraphQL API向云中的NoSQL表提交数据。我使用AWS Amplify自动生成了GraphQL操作,现在我正试图在我的React代码中提交以下操作: (注意和公司仅为React状态下的字符串值) 这将产生一个异常“[object]” 现在如果我像这样直接传递字符串 createOffer() { const input = { place: "Example Company ",

我正在使用React JS应用程序通过AWS AppSync客户端和GraphQL API向云中的NoSQL表提交数据。我使用AWS Amplify自动生成了GraphQL操作,现在我正试图在我的React代码中提交以下操作: (注意和公司仅为React状态下的字符串值)

这将产生一个异常“[object]”

现在如果我像这样直接传递字符串

  createOffer() {
    const input = {
            place: "Example Company ",
            title_de: "Example Title",
            category: "product",
        }
    return API.graphql(graphqlOperation(mutations.createOffers, {input: input
    }));
它很好用。 到目前为止,我发现的唯一解决方法是将包含字符串值的变量包装在JSON.stringify(company)和JSON.stringify(note)中。但是相应的数据库条目用双引号“Example Company”而不是Example Company包装

我希望避免手动修改自动生成的GraphQLAPI代码,因为我希望它经常更改


客户端是否有一个选项可以将实际字符串从React状态获取到API调用中,而无需GraphQL将其标识为对象或在数据库中以双引号结束?

您尝试过模板文本吗

const input = {
  place: `${company}`,
  title_de: `${note}`,
  category: 'product'
}

当我在开发人员控制台中运行一个快速测试时,这肯定会删除您所经历的额外引用。

事实上,这就成功了。我以前尝试过模板文字,但结果证明我的引用是错误的。非常感谢!
const input = {
  place: `${company}`,
  title_de: `${note}`,
  category: 'product'
}