Tyl*_*ler 7 typescript reactjs
使用以下代码片段我收到以下错误:
TypeScript error: 'route' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. TS7022
const store = configureStore()
const renderWithRouter = (
ui: any,
{
route = '/', /* ERROR HERE */
history = createMemoryHistory({ initialEntries: [route] }),
} = {},
) => {
return {
...render(
<Provider store={store}>
<Router history={history}>{ui}</Router>
</Provider>,
),
history,
}
}
export default renderWithRouter
Run Code Online (Sandbox Code Playgroud)
我正在处理代码的完整部分,并且必须升级一个包,然后突然开始抱怨。(包是react-router-dom和@types/react-router-dom)。
我不太确定如何克服这个问题,而且我对函数中第二个参数的情况有点困惑。看起来他们试图识别默认的空参数,但是他们已经在左侧填写了route和 的值history。
编辑:我通过添加以下内容解决了该问题:
interface IRenderParams {
route: string | undefined;
history: MemoryHistory<any>
}
...
{
route = '/', /* ERROR HERE */
history = createMemoryHistory({ initialEntries: [route] }),
} = {} as IRenderParams
...
Run Code Online (Sandbox Code Playgroud)
这解决了问题,但是,我仍然不确定为什么这样定义。
| 归档时间: |
|
| 查看次数: |
10277 次 |
| 最近记录: |