小编ask*_*ons的帖子

功能组件的哪些部分在重新渲染时运行?

我习惯了在 React 中对组件进行分类,但我正在尝试学习 React hooks。我知道在类组件中,有render()方法。每当重新呈现类组件时都会调用此方法。然而,对于有状态的功能组件(react hooks)来说,没有这样的render()方法。整个函数是否在每次重新渲染时运行?如果是这样,如果运行该函数的每一行代码,状态是否会重置回默认状态值?这是一个示例片段 \xe2\x80\x94 例如,如果当我调用 setAnimal 时该组件被重新渲染,那么重新渲染不会使动物重置回“狗”吗?

\n

\r\n
\r\n
const SearchParams = () => {\n  const [location, setLocation] = useState("Seattle, WA");\n  const [animal, setAnimal] = useState("dog");\n\n  return (\n    <div className="search-params">\n      <form>\n        <label htmlFor="location">\n          Location\n          <input\n            id="location"\n            value={location}\n            placeholder="Location"\n            onChange={(e) => setLocation(e.target.value)}\n          />\n        </label>\n        <label htmlFor="animal">\n          Animal\n          <select\n            id="animal"\n            value={animal}\n            onChange={(e) => setAnimal(e.target.value)}\n            onBlur={(e) => setAnimal(e.target.value)}\n          >\n            <option>All</option>\n            {ANIMALS.map((animal) => (\n              <option value={animal}>{animal}</option>\n            ))}\n          </select>\n        </label>\n        <button>Submit</button>\n      </form>\n    </div>\n  );\n};
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n …

javascript reactjs react-hooks

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

将子 div 高度限制为父容器高度

我希望图表div 的高度能够一直延伸到其父容器 ( graph-container ) 的末尾,但不会超出它。我尝试将图形的高度设置为 100% 并继承,但它们都会导致它延伸超过其父容器的底部边缘(我不想使用溢出:隐藏)。有没有办法在图形上设置高度属性,以便它自动将其高度设置为正确的值?

电流输出:输出

我想要的是:在此输入图像描述

当前代码:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: 20px;
}

.wrapper {
  height: 100vh;
  width: 100vw;
  display: flex;
  justify-content: center;
}

.graph-container {
  border: 3px solid black;
  height: 60vh;
  width: 70vw;
  margin-top: 10vh;
}

.graph {
  height: 100%;
  width: 100%;
  border: 3px solid red;
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="style.css" …
Run Code Online (Sandbox Code Playgroud)

html javascript css grid flexbox

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

标签 统计

javascript ×2

css ×1

flexbox ×1

grid ×1

html ×1

react-hooks ×1

reactjs ×1