一尘不染

React Typescript:添加位置状态以响应路由器组件

docker

我有正常路线

function LoginPage(props: RouteComponentProps): React.ReactElement {...
}

使用RouteComponentPropsfrom react-router-dom

奇怪的是,这个组件很长一段时间都没有出现问题,但是现在当我用history.push(location.state.from.pathname)说的时候,它无法在travis-
ci上编译Property 'from' does not exist on type '{}'.

我在我的PrivateRoute组件中设置了此状态,这是带有重定向的非常标准的

<Redirect
  to={{ pathname: '/login', state: { from: props.location } }}
/>

如何更新location要包含的from对象的类型pathname: string;

编辑:

解决方案是添加

COPY yarn.lock /usr/src/app/

复制package.json之后,将其复制到我的Dockerfile中。


阅读 416

收藏
2020-06-17

共1个答案

一尘不染

看起来您没有对软件包使用锁定文件。我建议您找到一个工作环境(在先前生成的docker映像中,或者从一个团队成员中),然后在其中生成package-
lock.json(或yarn.lock)。我用了这个命令npm install --package- lock。在问题完全解决之前,它将为您提供首次帮助。

2020-06-17