我有一个包含我的路线的文件:
const routes = (
<App>
<Switch>
<Route component={Login} path="/login" />
<Route path="/" component={SecuredRoutes} />
</Switch>
</App>
);
在我的SecuredRoutes
组件中,我有一个Switch
组件:
const SecuredRoutes = () => (
<Switch>
<Route component={Home} exact path={`/`} />
<Route component={Other} path={`/other`} />
<Route component={Admin} path={`/admin`} />
</Switch>
)
Home
Component
呈现正常。它上面有Admin
和Other
的链接。当我点击其中一个Link
时,网址会更改,但Component
不会呈现。我可以刷新页面,然后Component
将呈现。路线有效,但只有很难刷新。
我还尝试在match
SecuredRoutes
中使用Component
并在match.url
中使用path
进行解构enum Result<S, F> {
case success(S)
case failure(F)
var successValue: S? {
switch self {
case .success(let value):
return value
case .failure:
return nil
}
}
var failureValue: F? {
switch self {
case .failure(let value):
return value
case .success:
return nil
}
}
}
let resultSuccess = Result<Int, String>.success(1)
let resultFailure = Result<Int, String>.failure("Error")
if let error = resultFailure.failureValue {
// do something
print(error)
}
。这也没有帮助。
这对任何人都有意义吗?我做错了什么?
答案 0 :(得分:0)
问题在于,由于Redux
,状态/道具似乎没有变化,所以没有任何渲染。 Here是描述问题的md
。
我试图在Components
中包含较低级别withRouter
,但它们永远不会被渲染,因此从未调用过代码。我最终用withRouter
包装了我的顶级组件,现在所有内容都按预期呈现。
我不知道这是否会导致额外的渲染。我没有进行任何分析,看看这会如何影响我的应用程序,但它正在呈现。