当前位置: 首页 > 知识库问答 >
问题:

反应钩中的推法(美国)?

鲁博赡
2023-03-14

如何在USESTEAT数组内推元素反应钩?这是一个老方法在反应状态吗?还是新东西?

例如。设置状态推示例?

共有1个答案

施阎宝
2023-03-14

使用USESTATE时,可以获得状态项的更新方法

const [theArray, setTheArray] = useState(initialArray);

然后,当您想要添加新元素时,您可以使用该函数并传入新数组或创建新数组的函数。通常是后者,因为状态更新是异步的,有时是批处理的:

setTheArray(oldArray => [...oldArray, newElement]);

有时,如果您只在处理程序中更新某些特定用户事件的数组,比如click(但不像mousemove),则无需使用回调表单:

setTheArray([...theArray, newElement]);
const {useState, useCallback} = React;
function Example() {
    const [theArray, setTheArray] = useState([]);
    const addEntryClick = () => {
        setTheArray(oldArray => [...oldArray, `Entry ${oldArray.length}`]);
    };
    return [
        <input type="button" onClick={addEntryClick} value="Add" />,
        <div>{theArray.map(entry =>
          <div>{entry}</div>
        )}
        </div>
    ];
}

ReactDOM.render(
    <Example />,
    document.getElementById("root")
);
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.1/umd/react-dom.production.min.js"></script>
 类似资料:
  • 如何在功能组件中使用preState和use效果?我被告知要更新类组件到功能组件,我被困在了组件的didUpdate部分

  • 问题内容: 在带有钩子的React中,更新状态的正确方法是嵌套对象是什么? 一个人怎么会使用到的更新来(附加一个字段)? (改变价值)? 问题答案: 您可以像这样传递新值

  • 我在React hook中遇到了一些非常奇怪的行为。在下面的代码中(https://codesandbox.io/s/purple-bush-nb5uy?file=/src/index.js): 单击时,我们在控制台中获得以下序列: 我希望: 因为我认为如果React找到setter并在重新渲染后执行以下代码,它会立即重新渲染。此外,我的React应用程序也是如此: 当运行以及值与状态变量的内容不

  • 我正在尝试使用react钩子创建一个悬停以显示div,我遇到了以下问题: 第69:31行:在函数“renderHideOptionalClauseTrigger”中调用React钩子“useState”,该函数既不是React函数组件,也不是自定义React钩子函数React钩子/钩子规则 搜索关键字以了解有关每个错误的更多信息。 以下是我的代码库:

  • 问题内容: 让我解释一下此代码的结果,以便轻松询问我的问题。 当坐骑,“效果”将被记录。这与有关。 每当我更改名称输入时,都会记录“效果”和“清理”。反之亦然,自从我添加到的第二个参数以来,每次更改用户名输入都不会记录任何消息。这与 最后,在卸载时,将记录“清理”。这与有关。 我们都知道。 总之,只要重新渲染组件(包括卸载),就会调用“清理” 如果要使该组件仅在卸载时记录“清理”,则只需将第二个参