【问题标题】:Saving data in an Expo App and sending it via AWS Amplify将数据保存在 Expo 应用程序中并通过 AWS Amplify 发送
【发布时间】:2019-07-03 01:28:10
【问题描述】:

我正在使用 Expo 编写应用程序。我将创建表单,将各种字符串作为数据并拍照,将它们保存到应用程序,然后使用 AWS Amplify 发送。

设备上将存储多个表单,上传的表单将标记为“完成”。

我可以从 Expo 访问 AsyncStorage,我正在考虑将表单存储在设备上,然后使用 AWS Amplify 发送数据。

我想知道使用 AyncStorage 是否是一种好习惯,因为文档指出它应该只用作简单的存储解决方案,因为它是全局的,尽管我相信我的需求很简单。

您是否可以推荐任何其他涉及向亚马逊网络服务发送数据的选项?

【问题讨论】:

    标签: react-native expo aws-amplify


    【解决方案1】:

    我不知道您是否正确理解 AWS Amplify。您要将数据发送到哪里?

    Amplify 包含三个主要部分:开发者工具、CLI 和框架。

    开发者工具目前只提供(很棒的)Amplify 控制台来简化您的托管。 CLI 可帮助您生成资源。框架部分为您提供了使用 UI 组件并简化与后端的通信的代码。

    如果你想把它发送到一个自定义的 GraphQL 端点,那很好。

    如果您将 DynamoDB 与 AppSync 和 S3 结合使用,AWS Amplify 非常适合这项工作。

    如果您还没有后端,Amplify 也非常适合您。

    以下是如何生成后端以将表单数据保存在 DynamoDB 中并使用 Amplify with AppSync 与该 NoSQL 数据库通信。

    初始化放大:

    amplify init
    

    添加授权:

    amplify add auth
    

    并与 DynamoDB 一起创建 AppSync 后端:

    amplify add api
    

    当要求编辑架构时,输入 y 代表 yesedit it to your needs.

    然后,您可以简单地向您发送表单数据

    async function sendFormData(formData) {
      const res = await API.graphql(graphqlOperation(createFormData, { input: formData }));
      console.log(res);
    }
    

    【讨论】:

    • 所以问题是我想在使用 Amplify 库将数据发送到 AWS 之前将它们存储在本地,我正在尝试找出最好的方法。虽然我有这些本地存储的数据,但 Expo 的 AsyncStorage 库可以吗?
    • 是的。如果您不想手动执行此操作,请尝试使用 Redux 持久化 Redux。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    相关资源
    最近更新 更多