React-TypeScript:类型“ IPayloadData”不可分配给类型“字符串”

时间:2020-06-05 04:07:26

标签: react-typescript

我正在为我的应用程序使用React-typescript。我的目标是获取数据并显示到我自己的自定义复选框。我可以映射数据,但是我正在从自己的价值中获取信息。我确定它是Typescript错误。这是我得到的错误:Type 'IPayloadData' is not assignable to type 'string'. TS2322

这是我的类型界面

export interface IPayloadData {
  label?: string;
  value?: string;
}

export interface IData {
  uuid?: string;
  name?: string;
  description?: string;
  tasks?: IPayloadData[];
}

这是我从Redux商店中提取的数据

   const tasks = useSelector((state: IRootState) => state.properties.details);
    const allTasks = tasks?.[propertyUUID]?.data?.tasks?.data;

这是我要在其中显示数据的自定义复选框

<CheckBoxGroup
            id="issueListPropertiesPicker"
            name="issueListPropertiesPicker"
            choices={allTasks?.map((i: any) => ({
              "label": i.name,
              "value": i.uuid
            }))}
            values={values?.tasks || []} // IN HERE I am getting typescript error
            onChange={(e) => handleChange({ "tasks": e })}
          />

1 个答案:

答案 0 :(得分:0)

values不为null时,通过IPayloadData属性而不是字符串数组设置由tasks属性控制的下拉选择。

我想您正在尝试传递来自uuid的{​​{1}}列表,例如:

有更改的行带有注释:// **这里是变化

tasks