小编fre*_*hme的帖子

npx react-native run-android:E/设备:同步期间出错:EOF

我正在尝试在我真正的 Android 设备上运行 React Native 应用程序。我在跑步前检查了我的设备

adb devices

List of devices attached
3357425441473098        device
Run Code Online (Sandbox Code Playgroud)

我开始于

npx react-native start
Run Code Online (Sandbox Code Playgroud)

并在其他控制台中

npx react-native run-android
Run Code Online (Sandbox Code Playgroud)

但出现错误..

Task :app:installDebug FAILED                                                                                                                                                     
10:25:40 V/ddms: execute: running am get-config                                                                                                                                     
10:25:40 V/ddms: execute 'am get-config' on '3357425441473098' : EOF hit. Read: -1                                                                                                  
10:25:40 V/ddms: execute: returning                                                                                                                                                 
Installing APK 'app-debug.apk' on 'SM-G960U - 9' for app:debug                                                                                                                      
10:25:40 D/app-debug.apk: Uploading app-debug.apk onto device '3357425441473098'                                                                                                    
10:25:40 D/Device: Uploading file onto device '3357425441473098'                                                                                                                    
10:25:40 D/ddms: Reading file permision of /home/user/react-native/awesomeProject/android/app/build/outputs/apk/debug/app-debug.apk as: rw-rw-r-- …
Run Code Online (Sandbox Code Playgroud)

android gradle build.gradle react-native

7
推荐指数
1
解决办法
4130
查看次数

使用 fetch api 使用预签名 url amazon s3 上传图像

您好,我正在尝试客户直接在 ReactJS Web 应用程序中将他们的图片上传到亚马逊 s3。我在后端生成预签名网址,如下所示

def get_presigned_url(file_extension, content_type, user_id) do
  config = get_aws_s3_config()
  bucket = get_bucket_name()
  filename = create_s3_file_name(file_extension, user_id)
  query_params = [{"ContentType", content_type}]

  ExAws.S3.presigned_url(config, :put, bucket, filename, query_params: query_params)
end
Run Code Online (Sandbox Code Playgroud)

生成的网址如下所示。

https://s3.us-west-1.amazonaws.com/churchapp-la/5/ab49d601efed40e0a6de0509ab78c091.png?ContentType=image%2Fpng&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=credentials%2Fus- west-1%2Fs3%2Faws4_request&X-Amz-Date=20200422T230320Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=68e0915ba1abb2722107c96b684e3a62f2e67aae9594bd4dece45 132853f5be2

在客户端我这样做

async function uploadImage(url, data, headers) {
    const response = await fetch(url, {
      method: "PUT",
      headers: headers,
      body: data
    });
    return response;
  }

const handleUpload = e => {
    const formData = new FormData();
    formData.append("image", file);

    const myHeaders = new Headers();
    myHeaders.append("ContentType", file.type);
    uploadImage(presignedUrl, …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 elixir reactjs

7
推荐指数
1
解决办法
7143
查看次数

在 Flutter 中使用 google_sign_in 时获取 idToken 'null'

我正在使用 google_sign_in 插件。

它运行良好。但我有一个问题。

我需要将 idToken 发送到后端服务器来验证用户。

但 Google 登录响应中的 IdToken 为空。

代码很简单

  final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
  final GoogleSignInAuthentication googleAuth =
      await googleUser.authentication;
  print("Printing google user info");
  print(googleAuth.accessToken);
  print(googleAuth.idToken);
  print(googleUser.displayName);
Run Code Online (Sandbox Code Playgroud)

其他属性具有正确的值。但 idToken 为空

我用谷歌搜索了这个并说我需要网络客户端 ID。

所以我做了

final _googleSignIn = GoogleSignIn(clientId: webClientId);

你们能帮忙吗?

我错过了什么吗?

google-signin flutter

7
推荐指数
1
解决办法
7294
查看次数

useMutation 中的 onCompleted 回调没有返回值

我正在尝试使用 apollo 在 React Native 中实现登录。在反应本机应用程序中

const SIGN_IN = gql`
mutation($username: String!, $password: String!) {
  signin(password: $password, username: $username) {
    user {
      username
    }
    token
  }
}
`;
Run Code Online (Sandbox Code Playgroud)

// 代码已缩写。

function LoginScreen() {
  const [signIn, { loading, error }] = useMutation(SIGN_IN, {
    onCompleted({ data }) {
      if (loading) console.log("Loading.....");
      console.log("Printing data");
      console.log(data.signin.token);
      }
  });
}
Run Code Online (Sandbox Code Playgroud)

后端服务器运行良好。但我在控制台日志中收到错误消息

    [Unhandled promise rejection: TypeError: Cannot read property 'signin' of undefined]

    Stack trace:
    screens/LogInScreen.js:36:6 in useMutation$argument_1.onCompleted
    node_modules/@apollo/react-hooks/lib/react-hooks.cjs.js:635:25 in callOncomplete
Run Code Online (Sandbox Code Playgroud)

数据未定义。 所以我尝试了{ data && console.log(data.signin.token) …

reactjs graphql react-native react-apollo apollo-client

5
推荐指数
1
解决办法
5881
查看次数

如何使用 Flutter graphql 在 flutter ListView 中加载更多内容

我需要你的帮助。

我的第一个查询结果是使用 ListView 小部件显示的。我调用 fetchMore 函数(来自 graphql_flutter)以获得更多结果。但它似乎刷新了整个小部件,而不是仅仅在 ListView 底部添加新结果。(它显示正在加载小部件)

我对 Flutter 很陌生。

这是查询小部件中的构建器。

builder: (QueryResult result,                                                                                                                                                                                                                                                  
              {VoidCallback refetch, FetchMore fetchMore}) {                                                                                                                                                                                                                             
            if (result.hasException) {                                                                                                                                                                                                                                                   
              return Text(result.exception.toString());                                                                                                                                                                                                                                  
            }                                                                                                                                                                                                                                                                            
            if (result.loading) {                                                                                                                                                                                                                                                        
              return Center(                                                                                                                                                                                                                                                             
                child: CircularProgressIndicator(),                                                                                                                                                                                                                                      
              );                                                                                                                                                                                                                                                                         
            }                                                                                                                                                                                                                                                                            

            List items = result.data['playlistItems']['items'];                                                                                                                                                                                                                          

            String token = result.data['playlistItems']['nextPageToken'];
            token = token ?? "";

            FetchMoreOptions opts = FetchMoreOptions(
                variables: {'nextPageToken': token},
                updateQuery: (previousResultData, fetchMoreResultData) {
                  final List<dynamic> newItems = [
                    ...previousResultData['playlistItems']['items']
                        as List<dynamic>,
                    ...fetchMoreResultData['playlistItems']['items']
                        as List<dynamic>
                  ];

                  fetchMoreResultData['playlistItems']['items'] = newItems;
                  return fetchMoreResultData;
                });

              return Stack( …
Run Code Online (Sandbox Code Playgroud)

dart graphql flutter

5
推荐指数
0
解决办法
773
查看次数

[网络错误]:类型错误:网络请求失败

我第一次尝试阿波罗。我的后端服务器是 Phoenix 框架(长生不老药)。并在http://localhost:4000/api 中运行 所以我尝试在我的代码中使用 apollo 进行第一个查询。

import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import ApolloClient from 'apollo-boost';
import { gql } from 'apollo-boost';
const client = new ApolloClient(
  {
    uri: 'http://localhost:4000/api',
  }
);
client.query({
   query: gql`
     { 
        users {
          name
          email
        } 
     `}
}).then(result => console.log(result));
Run Code Online (Sandbox Code Playgroud)

但我有一个错误。

[Network error]: TypeError: Network request failed

    node_modules/expo/build/logs/LogSerialization.js:166:14 in _captureConsoleStackTrace
    node_modules/expo/build/logs/LogSerialization.js:41:24 in serializeLogDataAsync
    ... 9 more stack frames from framework internals

[Unhandled promise rejection: Error: Network error: …
Run Code Online (Sandbox Code Playgroud)

elixir apollo phoenix-framework react-native absinthe

1
推荐指数
1
解决办法
3165
查看次数