小编Ell*_*ica的帖子

React 状态变量未在函数中更新

我正在创建一个工作完全正常的聊天应用程序,除了一个问题:当我调用传递给子组件的函数时,它使用状态变量的初始值,而不是其当前值。我包含了下面的代码以及显示它使用错误值的日志片段。它为什么要这样做?与LioWebRTC有关吗?请指教。

注意:我添加了一个额外的按钮来调用相同的函数,并且当前状态确实打印出来,所以看起来这与 LioWebRTC 有关?它怎么可能不使用当前状态呢?

import React, { useState, useEffect } from 'react';
import { LioWebRTC } from 'react-liowebrtc';
import ChatBox from './ChatBox';


const ChatWrapper = props => {

  const [counter, setCounter] = useState(0)

  console.log("Correct Counter:", counter)

  useEffect( () => {
    setCounter(counter => counter +1 );
  } , [] );

  const addChat = (name, message, alert = false) => {};

  const join = (webrtc) => webrtc.joinRoom(props.roomID.toString());

  const handleCreatedPeer = (webrtc, peer) => {
    setCounter(counter => counter +1 …
Run Code Online (Sandbox Code Playgroud)

reactjs use-state

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

如何将Pixel 2连接到ADB

我有一个解锁的Pixel 2并启用了USB调试.然而,如果我把它插入我的电脑,它只会显示充电.USB线工作连接其他设备进行数据传输没有问题,所以它不是电源线.我可以将任何其他设备连接到我的任何端口,即使是最初的Pixel也没有问题.我正在运行Windows 10专业版.Pixel 2可以很好地连接到运行Windows 10 pro的旧电脑.我有Android Studio 3和Google工具的usb驱动程序.如果我进入设备管理器并单击Pixel 2,它会说我有更新的驱动程序,如果我尝试更新.我已经尝试禁用和重新启用USB调试,撤消权限等.除了充电之外,没有什么能使它做任何事情.没有下拉菜单可以选择不同的选项.

如何才能让我的Pixel 2被我的电脑看到?

android pixel adb

11
推荐指数
3
解决办法
2万
查看次数

三元从句中连续两个问号是什么意思?

最近在一段Java代码中看到了这个三元运算语句:

int getVal(Integer number, boolean required) {
    Integer val = number == null ? required ? 1 : 2 : 3;
    return val;
}
Run Code Online (Sandbox Code Playgroud)

我从未见过像这样连续有两个问号的三元语句(没有任何括号)。如果我使用输入值,我可以1返回 ifnumber == null3返回,但似乎不需要什么,2永远不会返回。

这个语句什么意思(即我应该如何将它读作true/false条件的单词语句)以及需要2返回的输入是什么?

java conditional-operator ternary

9
推荐指数
2
解决办法
176
查看次数

如何解决“react-dnd-html5-backend”不包含默认导出的问题?

我是 React 新手,并尝试模拟此处找到的行拖放代码:https ://react-table-omega.vercel.app/docs/examples/row-dnd

如果我打开沙箱,所有默认代码都可以正常工作。如果我在本地复制粘贴代码,编译时会出现以下错误:

Attempted import error: 'react-dnd-html5-backend' does not contain a default export (imported as 'HTML5Backend')

我使用安装了该库npm install react-dnd-html5-backend --save,并且没有对其进行任何修改。

导入行是:

import HTML5Backend from 'react-dnd-html5-backend'

这是从教程中复制粘贴的。我不明白为什么它会抛出错误,也不明白如何修复它。有什么想法吗?

drag-and-drop reactjs react-dnd react-table

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

如何在 Google Drive API v3 中将 XLSX 转换为表格

当我将 xlsx 文件与我的代码一起上传到 Google Drive 时,我想将它们自动转换为 Google 电子表格。但是,虽然转换成功用于 csv 文件,但我得到:

<HttpError 400 when requesting https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable&alt=json returned "Bad Request">
Run Code Online (Sandbox Code Playgroud)

尝试上传 xlsx 时。

这是我的代码:

def upload_service(filepath, name="", description="", fileID="", parentID=""):
    """ Uses a Resource (service) object to upload a file to drive. """

    if service == "": authenticate_service()

    if name == "":
        name = str(os.path.basename(filepath).split(os.extsep)[0])   # Get from filepath

    extension = str(os.path.basename(filepath).split(os.extsep)[1]).lower()

    if extension == "csv":                  # CSV
        mime_type = "text/csv"
    elif extension in ["xls", "xlsx"]:      # EXCEL
        mime_type = "application/ms-excel"
    else: …
Run Code Online (Sandbox Code Playgroud)

python excel google-api google-drive-api google-api-python-client

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

如何拥有透明状态栏但保留导航栏不透明?

我希望在我的应用程序上有一个透明状态栏(所以背景会在它后面)但我希望底部的导航栏保持黑色.

我可以通过设置使两者都透明 getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

我可以通过设置使顶部半透明(部分透明) <item name="android:windowTranslucentStatus">true</item>

但是,如果不使底部透明,我也无法使顶部完全透明.使用<item name="android:statusBarColor">@android:color/transparent</item>或类似不起作用.

有谁知道如何在不影响导航栏的情况下制作完全透明的状态栏?

transparency android styles statusbar navigationbar

6
推荐指数
2
解决办法
3712
查看次数

为什么Expo Android模拟器不显示应用程序?

我是 Expo 新手,我正在尝试使用yarn android. (该应用程序只是使用创建的基本应用程序expo init my-project。)但是,虽然该命令很好地启动了模拟器,但我所看到的只是模拟设备——该应用程序从未出现。如果我在等待很长时间后关闭模拟器,终端会说模拟器在完成加载之前已关闭。

这是模拟器启动之前终端显示的内容:

在此输入图像描述

这是模拟器启动后的样子:

在此输入图像描述

如果我最终关闭模拟器,终端会显示以下内容:

在此输入图像描述

如果我让模拟器运行直到尝试加载应用程序超时,情况如下:

在此输入图像描述

您知道为什么该应用程序永远不会加载以及如何让它加载吗?如果我运行yarn web,应用程序可以在浏览器中正常加载,所以我知道这不是应用程序本身的问题。

command-line android android-emulator react-native expo

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

我可以在活动和服务之间共享 ViewModel 吗?

我有一个运行服务的应用程序,即使应用程序关闭,它也应该继续工作。我需要在他们之间共享信息,我想尝试使用 ViewModel 来做到这一点。我知道如何在片段之间共享一个 ViewModel,但在活动和服务之间却让我望而却步。有人知道吗?

service android mvvm viewmodel android-activity

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

如何限制RecyclerView中的项目数?

如何限制RecyclerView 显示的项目数?

如果覆盖getChildCount,我可以限制插入的数量,但这会使它仅插入该数字然后停止。我希望它继续插入/滚动,但只显示 X个项目。

(注意:每个项目的高度都可以不同,因此,限制基于数量而不是某些硬编码值非常重要。)

android recycler-adapter android-recyclerview recyclerview-layout

5
推荐指数
2
解决办法
7625
查看次数

为什么Google API V3不会让孩子们回归?

我想使用Python获取Google云端硬盘中给定文件夹中所有文件/文件夹的列表.我正在使用的电话是这样的:

query = parentID + " in parents"

response = service.files().list(q=query,
                                spaces='drive',
                                fields='files(id, name, parents)').execute()
Run Code Online (Sandbox Code Playgroud)

根据搜索文件文档和迁移到v3文档,我应该正确地执行它.但是当我运行代码时,我收到以下错误:

<HttpError 400 when requesting https://www.googleapis.com/drive/v3/files?q=[MY_PARENT_ID]+in+parents&spaces=drive&alt=json&fields=files%28id%2C+name%2C+parents%29 returned "Invalid Value">
Run Code Online (Sandbox Code Playgroud)

我的查询有什么问题,如何正确调用?

python google-api http-error google-drive-api google-api-python-client

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