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

如何使用react钩子设置状态数组

高德水
2023-03-14

提前谢了。我有一个状态数组,如下所示。

我需要添加一个项目到状态数组,我发现我们不需要做状态突变。如何使用PrevState设置状态。

const [messages, setMessages] = React.useState(
        [
            {
                _id: 12,
                createdAt: new Date(),
                text: 'All good',
                user: {
                    _id: 1,
                    name: 'Sian Pol',
                }
            },
            {
                _id: 21,
                createdAt: "2019-11-10 22:21",
                text: 'Hello user',
                user: {
                    _id: 2,
                    name: 'User New'
                }
            }]
    )

如何调用set State以追加此状态数组。

像这样的东西?

setMessages(previousState => ({...stat

共有1个答案

郑卜鹰
2023-03-14

在列表末尾插入新元素

const addMessage = (newMessage) => setMessages(state => [...state, newMessage])

在列表开头插入新元素

const addMessage = (newMessage) => setMessages(state => [newMessage, ...state])
 类似资料:
  • 我想用React useState钩子设置多个状态值,这样我就可以用useEffect钩子分别更新它们。我有以下代码: 但是当我用React DevTools检查应用程序时,我会看到钩子的多个“状态”值,而不是“订单”、“支付”、“提交”等。

  • 这两个是等价的吗?如果不是,哪一个是最好的,为什么?

  • 我是一个初级程序员,努力理解我应该如何处理孙子状态(或者看看有孙子状态是否是个好主意)。 我的问题是。。。 1.是否可以通过更改孙子? 2.在美国生孙子是个坏主意吗? 为了举例说明,这里是一个组件的构造函数。 我把看作是子,而看作是孙子。 这里是一个JSX。 当触发时,我想验证函数'this.submit'中的输入。 在这个例子中,应该被设置(即更改),但是上面的代码不起作用。 也许分解此应用程序

  • 我目前正在处理一个注册表单,以下是我的代码片段: 每个状态都用于表单的受控输入。 基本上,我想做的是在用户成功注册后,我希望状态返回到初始状态,并清除字段。 在中手动将每个状态设置回空字符串是非常必要的。我想知道React是否有一个方法或函数可以将状态重置回初始值?

  • 问题内容: 因此,我有一个数据数组,并且正在使用该数据生成组件列表。我想在每个生成的元素上都有一个引用来计算高度。我知道如何使用Class组件执行此操作,但是我想使用React Hooks进行操作。 这是一个说明我要做什么的示例: 问题答案: 不确定我是否完全理解您的意图,但我认为您需要这样的东西:

  • 我正在从事Instagram克隆项目。我正在做个人资料页面部分,遇到了一些问题。我正在尝试使用hooks(useState)设置服务器对用户文档的响应。我的问题是,当我使用useEffect时(仅使用[]一次),用户名状态没有设置。我让useEffect无限运行,我发现状态是在一段时间后设置的。 检查setProfileUser(…)是否正确,这是因为它设置了数据,但经过一段时间后,即使我可以在正