App.tsx的一些代码:
interface AppProps{
history: any
}
export default class App extends React.Component<AppProps,...> {
public state = {
target: this.props.history.push('/')
};
private route() {
if (!session.isLogin) {
this.setState({ target: this.props.history.push('/') });
return
} else {
this.setState({ target: this.props.history.push('/root') })
}
}
...
public render() {
return this.state.target
}
}
一些index.tsx的代码
ReactDOM.render(
<MemoryRouter>
<LocaleProvider locale={zhCn}>
<App history={ ???? }/>
</LocaleProvider>
</MemoryRouter>,
document.getElementById('root') as HTMLElement
);
registerServiceWorker();
为什么“历史”类型错误?提示:“ {}”类型中缺少属性“历史记录”。我应该在index.tsx中传递什么参数?
谢谢!
如果您想App
接收来自的所有RouteComponentProps
(包括历史记录对象)MemoryRouter
,则需要App
通过一条路线进行呼叫,如下所示:
ReactDOM.render(
<MemoryRouter>
<LocaleProvider locale={zhCn}>
<Route component={App}/>
</LocaleProvider>
</MemoryRouter>,
document.getElementById('root') as HTMLElement
);
然后,你可以替换AppProps
使用RouteComponentProps<{}>
中的声明App
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句