使用react使用打字稿

问题描述 投票:0回答:3
<Test>
      {({
        direction,
        filteredItems,
        onItemSelectAll,
        onItemSelect,
        selectedKeys: listSelectedKeys,
        disabled: listDisabled,
      }) => {
        const columns = direction === 'left' ? leftColumns : rightColumns;
.......

就我而言,我使用打字稿,因此当我尝试运行代码时,对于此部分代码,将显示错误:Binding element 'direction' implicitly has an 'any' type所以,现在我想现在如何应用打字稿,因为我尝试写direction:any但我得到了'any' is declared but its value is never read.在这种情况下如何应用打字稿?我的意思是directiondisabled之间的代码段?

typescript
3个回答
1
投票

您是否正在破坏函数的参数?如果是,我认为在TypeScript中执行此操作的方式如下:

interface Args {
  direction: any
  selectedKeys: listSelectedKeys
  disabled: listDisabled
}

({ direction, selectedKeys, disabled }: Args) => {
  // on hover, direction is of 'any' type
  console.log(direction)
}

0
投票

好像您在对象中混合了一些属性。有些有价值,有些没有。尝试这样的事情:

   {
    direction: aDirection,
    filteredItems: filteredItems,
    onItemSelectAll: onItemSelectAllFunction,
    onItemSelect: onItemSelectFunction,
    selectedKeys: listSelectedKeys,
    disabled: listDisabled,
  }

右侧的所有变量应在某处定义


0
投票

我想您正在尝试为解构对象属性指定类型,如果是这种情况,请尝试此

<Test>
      {({
    direction,
    filteredItems,
    onItemSelectAll,
    onItemSelect,
    selectedKeys: listSelectedKeys,
    disabled: listDisabled
  }: {
    direction: any;
    filteredItems: any;
    onItemSelectAll: any;
    onItemSelect: any;
    selectedKeys: { listSelectedKeys: any };
    disabled: { listDisabled: any };
  }) => { const columns = direction === 'left' ? leftColumns : rightColumns;
© www.soinside.com 2019 - 2024. All rights reserved.