相关疑难解决方法(0)

在React中使用setState更新对象

是否可以使用setState更新对象的属性?

就像是:

this.state = {
   jasper: { name: 'jasper', age: 28 },
}
Run Code Online (Sandbox Code Playgroud)

我试过了:

this.setState({jasper.name: 'someOtherName'});
Run Code Online (Sandbox Code Playgroud)

还有这个:

this.setState({jasper: {name: 'someothername'}})
Run Code Online (Sandbox Code Playgroud)

第一个是语法错误,第二个什么都不做.有任何想法吗?

state reactjs

211
推荐指数
10
解决办法
19万
查看次数

何时使用React setState回调

当react组件状态发生变化时,将调用render方法.因此,对于任何状态更改,可以在呈现方法主体中执行操作.那么setState回调是否有特定的用例?

callback setstate reactjs

163
推荐指数
4
解决办法
17万
查看次数

Updating and merging state object using React useState() hook

I'm finding these two pieces of the React Hooks docs a little confusing. Which one is the best practice for updating a state object using the state hook?

Imagine a want to make the following state update:

INITIAL_STATE = {
  propA: true,
  propB: true
}

stateAfter = {
  propA: true,
  propB: false   // Changing this property
}
Run Code Online (Sandbox Code Playgroud)

OPTION 1

From the Using the React Hook article, we get that this is possible:

const [count, setCount] = useState(0);
setCount(count + 1); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks

24
推荐指数
7
解决办法
2万
查看次数

使用 React useState hook 设置多个状态值

我想用 React useState 钩子设置多个状态值,以便我可以用 useEffect 钩子分别更新它们。我有以下代码:

import React, { useState } from "react";

const initialValues = {
  phone: "",
  email: ""
};

const App = () => {
  const [order, setOrder] = useState("");
  const [paid, setPaid] = useState(false);
  const [submitting, setSubmitting] = useState(false);
  const [loading, setLoading] = useState(false);
  const [data, setData] = useState(initialValues);

  return (
    <div className="App">
    </div>
  );
};

export default App;
Run Code Online (Sandbox Code Playgroud)

但是当我使用 React DevTools 检查应用程序时,我看到我的钩子有多个“状态”值,而不是“订单”、“付费”、“提交”等。

这是我的代码和框的链接。

我的错误在哪里?如何设置多个状态值以在以后分别更新它们?

reactjs

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

在状态对象中使用具有多个键/值对的 React Hook

我想知道最好的方法是key/valuestatein a定义多于一对Functional Component

在一类我会initialitheState喜欢

this.state = {
    first: 'foo',
    second: 'bar'
};
Run Code Online (Sandbox Code Playgroud)

更新State我的电话

this.setState({
    first: 'foobar'
    second: 'barfoo'
});
Run Code Online (Sandbox Code Playgroud)

现在React HooksState像这样初始化。

const [first setfirst] = useState('foo');
const [second, setSecond] = useState('bar');
Run Code Online (Sandbox Code Playgroud)

更新State我的电话

setFirst = 'foobar';
setSecond = 'barfoo';
Run Code Online (Sandbox Code Playgroud)

但是,恕我直言,这并不理想。我不得不重写const [x, setX] = useState(...);每次我想要一个新的添加key/value对到State object。样板。我还必须始终牢记 的“二传手”名称x,即setX. 如果State object增长,那将变得混乱。

如果我可以简单地打电话会更好

setState(first: 'foobar', second: 'barfoo'); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

标签 统计

reactjs ×5

javascript ×2

callback ×1

react-hooks ×1

setstate ×1

state ×1