javascript - 在状态对象中使用带有多个键/值对的 React Hooks

标签 javascript reactjs

我想知道定义多个 key/value 的最佳方法是什么?配对 stateFunctional Component .

在类里面我会缩写 State喜欢

this.state = {
    first: 'foo',
    second: 'bar'
};

更新State我打电话

this.setState({
    first: 'foobar',
    second: 'barfoo'
});

现在与 React Hooks我初始化State就像这样。

const [first, setfirst] = useState('foo');
const [second, setSecond] = useState('bar');

更新State我打电话:

setFirst = 'foobar';
setSecond = 'barfoo';

但是,恕我直言,这并不理想。我必须重写const [x, setX] = useState(...);每次我想添加一个新的 key/valueState object 配对。样板文件。我还必须始终牢记“setter”名称 x ,即setX 。如果State object,那会变得困惑。成长。

如果我能直接打电话就更好了

setState(first: 'foobar', second: 'barfoo');

但我不知道如何初始化 State object正确/最好的方法是什么。

最佳答案

您可以使用 useState 设置整个对象,如下所示 -

const [stateObj, setStateObj] = useState({first:'foobar', second:'barfoo'});

然后更新状态 -

setStateObj({first:'foobarnew', second:'barfoonew'})

关于javascript - 在状态对象中使用带有多个键/值对的 React Hooks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57305109/

相关文章:

javascript - 动态地将 .on() 方法与事件映射绑定(bind)

JavaScript 在 Jasmine 测试中失败

javascript - React 和 React Router 中的子域路由

reactjs - axios post请求发送表单数据

javascript - React-Bootstrap 组件文档

javascript - 如何将 --harmony Node 标志添加到 grunt-express

javascript - 在 JavaScript 中使用 .bind() 时出现意外标记 "."

reactjs - 创建 React 组件时何时使用箭头函数、类和对象文字?

javascript - 使用 React router 进行 enzyme 集成测试测试 - 使用链接测试组件更新

javascript - 单击按钮时页面返回历史记录