小编Daw*_*ign的帖子

如何在 React 中使用生成的 OpenAPI 客户端?

我已经生成了我的 API 客户端openapi-generator-cli generate -i https://linktomybackendswagger/swagger.json -g typescript-axios -o src/components/api --additional-properties=supportsES6=true

现在我的项目中有所有文件,但我不知道如何实现它。如何实例化 API?在哪里配置要使用的访问令牌?我如何知道端点的每个方法名称?

经过两个小时的谷歌搜索后,我似乎找不到关于最基本的设置问题的文档。也许我只是找错了地方。有人能指出我正确的方向吗?

typescript reactjs openapi axios openapi-generator

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

使用 useState 更新深层嵌套状态无法正常工作

我按照这个线程中的答案尝试更新我在 React 中的深层嵌套对象。 React:使用 Hooks 设置深度嵌套对象的状态

那里似乎有魅力,但在执行以下操作时会以某种方式破坏我:

我有一个表,其中填充了定义如下的数组中的项目:

const [items, setItems] = useState([
{
  selected: false,
  title: 'Item 1',
  status: 'new'
},
{
  selected: false,
  title: 'Item 2',
  status: 'used'
},
]);
Run Code Online (Sandbox Code Playgroud)

当从该列表中选择一个项目时,会调用此函数来更新selected具有索引的对象的变量,i如下所示:

const select = (e) => {
  const i = e.target.getAttribute('data-index');
  setItems((prevState) => {
    prevState[i].selected = !prevState[i].selected;
    return [...prevState];
  });
};
Run Code Online (Sandbox Code Playgroud)

这只会工作一次。如果我select第二次或此后的任何时间触发return [...prevState],都会以某种方式保持返回状态不变。(永远selected保留true)。我无法解决这个问题。

items附加到一个组件,List如下所示:

<List
   items={items}
/>
Run Code Online (Sandbox Code Playgroud)

和内部List(缩写代码):

{items.map((item, i) => …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs use-state

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