小编RED*_*SAD的帖子

React Hooks - Ref 在 useEffect 中不可用

我正在使用 ReactHooks。我正在尝试访问功能中refUser组件useEffect。但是我得到了elRef.current价值null,虽然我elRef.current作为第二个参数传递给useEffect. 但我想得到对div元素的引用。但在 之外(函数体)useEffectref值是可用的。这是为什么 ?我怎样才能得到elRef.current里面的价值useEffect

代码

import React, { Component, useState, useRef, useEffect } from "react";

const useFetch = url => {
  const [data, setData] = useState(null);
  const [isLoading, setIsLoading] = useState(false);
  const [error, setError] = useState(null);

  useEffect(
    () => {
      setIsLoading(true);
      fetch(url)
        .then(response => {
          if (!response.ok) throw Error(response.statusText);
          return response.json();
        })
        .then(json => { …
Run Code Online (Sandbox Code Playgroud)

reactjs react-hooks

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

ReactJS - 道具命名的首选约定

我想知道 ReactJS 社区的首选道具命名约定是什么?

<TodoList todos={todos} onRemoveTodo={removeTodo} onCheckTodo={checkTodo} />

或者

<TodoList items={todos} onRemoveItem={removeTodo} onCheckItem={checkTodo} />

或任何其他方式?

谢谢!

javascript naming naming-conventions reactjs

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

TextMate 语法和主题如何与 VSCode 配合使用?

VSCode 建立在 MonacoEditor 之上,MonacoEditor 不支持 Textmate 语法和主题。但不知何故 VSCode 使它成为可能。我很好奇 VSCode 是如何做到这一点的。

我问是因为我正在制作一个带有 TextMate 语法和主题支持的代码编辑器(基于 Monaco)。但我无法理解如何实现它。

尽管有一些软件包monaco-textmate可以使 TextMate 语法与 Monaco 一起使用,但语法突出显示仍然无法正常工作

visual-studio-code tmlanguage monaco-editor

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

使用CSS倒铲的角落

我有CSS代码

#box {
  width: 200px;
  height: 50px;
  background-color: blue;
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
  position: relative;
  margin: 30px;
  text-align: center;
  color: white;
  padding-top: 10px;
}

#box::before,
#box::after {
  content: "";
  width: 0;
  height: 0;
  right: 0;
  position: absolute;
}

#box::before {
  border-right: 10px solid blue;
  border-top: 10px solid blue;
  border-left: 10px solid transparent;
  border-bottom: 10px solid transparent;
  bottom: -20px;
}

#box::after {
  border-right: 10px solid blue;
  border-top: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid blue;
  position: absolute;
  top: …
Run Code Online (Sandbox Code Playgroud)

html css

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

在javascript中反转数字10.0到0.01

我试图在javascript中实现一个反转给定数字(int/float)的函数.功能实现是

function reverseNumber(n) {
    let reversed = 0;
    const sign = Math.sign(n)
    n *= sign;

    const exponent = n.toString().indexOf('.');
    if (exponent !== -1) n *= Math.pow(10, n.toString().length - 1 - exponent);
    while (n !== 0) {
        reversed *= 10;
        reversed += n % 10;
        n = Math.floor(n / 10);
    }
    if (exponent !== -1) reversed /= Math.pow(10, exponent);
    return reversed * sign;
}
Run Code Online (Sandbox Code Playgroud)

此函数通过以下测试用例

  expect(reverseNumber(0)).toEqual(0);
  expect(reverseNumber(15)).toEqual(51);
  expect(reverseNumber(90)).toEqual(9);
  expect(reverseNumber(-5)).toEqual(-5);
  expect(reverseNumber(-90)).toEqual(-9);
  expect(reverseNumber(-2359)).toEqual(-9532);
  expect(reverseNumber(12.403)).toEqual(304.21);
  expect(reverseNumber(-12.4)).toEqual(-4.21);
Run Code Online (Sandbox Code Playgroud)

失败的唯一情况是输入时10.0.测试用例是

expect(reverseNumber(10.0)).toEqual(0.01);
Run Code Online (Sandbox Code Playgroud)

我没有找到任何方法来逆转10.0=> 0.01 …

javascript logic

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