Argument of type 'PageUtilsEleYj' is not assignable to parameter of type 'SetStateAction<null>'. Type 'PageUtilsEleYj' provides no match for the signature '(prevState: null): null'. res报错
时间: 2023-12-23 10:05:32 浏览: 132
根据您提供的错误信息,看起来是在设置`summaryData`的初始状态时出现了问题。根据错误信息中的提示,`PageUtilsEleYj`类型无法赋值给`null`类型。
解决这个问题的方法是将初始状态设置为`PageUtilsEleYj`类型的空对象,而不是`null`。可以使用`useState`的初始值参数来实现:
```jsx
import React, { useState } from 'react';
// 在组件中添加state,并设置初始状态为空对象
const [summaryData, setSummaryData] = useState<PageUtilsEleYj>({}); // 将null改为{}
// 修改请求函数,将返回的res值存储到state中
request={async (params) => {
const res = await getEleYjByCondition(params);
setSummaryData(res);
return res;
}}
```
这样,`summaryData`的初始状态会被设置为一个空对象。然后,您可以在渲染时检查`summaryData`是否为`null`或者为空对象,并根据情况来渲染相应的内容:
```jsx
<ProTable.Summary.Row className='total' style={{textAlign: 'center'}}>
{/* 合计行内容 */}
<ProTable.Summary.Cell colSpan={2} index={0} >总计</ProTable.Summary.Cell>
<ProTable.Summary.Cell index={2}>{summaryData && summaryData.total}</ProTable.Summary.Cell>
</ProTable.Summary.Row>
```
这样就能避免类型错误,并且在请求返回后将res的值渲染到ProTable.Summary.Cell上。
阅读全文