小编Lit*_*lee的帖子

React hooks 使用相同的原始值调用 setState 仍然会导致重新渲染

我发现当我定义一个值为“1”的状态时,

并在每次单击按钮时将状态设置为值“2”,

两次会导致重新渲染

重现演示: https: //codesandbox.io/s/sweet-brattain-ys11d

代码:使用react@17而不使用严格模式

import { useState } from "react";

export default function App() {
  const [a, setA] = useState("1");
  console.log("render", a);
  return (
    <button
      onClick={() => {
        setA("2");
      }}
    >
      {a}
    </button>
  );
}

// log:
// render 1
// render 2
// render 2
Run Code Online (Sandbox Code Playgroud)

我可以理解第一次重新渲染,因为状态从“1”更改为“2”,

但我不明白第二次重新渲染

javascript reactjs

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

Babel插件:“ transform-object-rest-spread”和“ syntax-object-rest-spread”之间有什么区别

关于这两个插件的文档中没有太多细节,我知道它们两个都像语法一样{...obj}工作。

但是,如何确定要使用哪个插件?

babeljs babel-plugin

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

React-konva:禁用画布元素 devicePixelRatio 比例

我正在使用react-konva

当我渲染<Stage />宽度为 750 的元素时,它将渲染<canvas />宽度为 750 * devicePixelRatio 的元素

<Stage width={750} />
Run Code Online (Sandbox Code Playgroud)

将渲染(在 iPhone 7 中)

<canvas width="1500" />
Run Code Online (Sandbox Code Playgroud)

如何禁用此行为?

canvas konvajs react-konva

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

当测试数组中的空值有长度时,Array.prototype.every 返回 true?

我试图检查数组中的每个元素是否都具有真值。

但是当测试一个数组有一些空值时我很困惑。

var arr = [];
arr[10] = 1;
arr; // [empty x 10, 1];
arr.every(item => Boolean(item)); // true ???
Boolean(arr[0]); // false ???!!!
Run Code Online (Sandbox Code Playgroud)

这是我在 chrome devtool 控制台上运行上面的代码时得到的结果 在此处输入图片说明

javascript arrays

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

nginx try_files不起作用?

我的目录:

/
|- static/
  |- index.html  // my pc page
  |- CKFM/
    |-index.html // my mobile web app
Run Code Online (Sandbox Code Playgroud)

更新:我的nginx.conf(完整版):

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;
    ignore_invalid_headers off;
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name …
Run Code Online (Sandbox Code Playgroud)

nginx react-router

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

macOS将DNS服务器设置为默认值

我正在构建一个工具来管理macOS中的DNS。

我知道如何在终端中设置DNS服务器。

networksetup -setdnsservers Wi-Fi 1.1.1.1
Run Code Online (Sandbox Code Playgroud)

但我不知道如何取消设置或将其设置为默认值

networksetup -setdnsservers Wi-Fi
Run Code Online (Sandbox Code Playgroud)

似乎不起作用。

有人帮忙吗?

macos terminal

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