0

将其输入 switchPath

  const Routes = {
    "/": Home,
    "/login": Login,
    '*': function(){return {DOM: xs.of(<h1> 404</h1>)}}
  }

导航到/lossgin将记录当前路线/路径是“/”。

4

1 回答 1

0

这似乎是switch-path的问题。(与CycleJS 历史无关)

请参阅此切换路径问题和此拉取请求

简而言之,当使用路由“/”并且没有嵌套路由时,不会捕获通配符 *。例如:

const { path, value } = switchPath("/lossgin", {
  "/": 123,
  "/login": 456,
  "*": 789
});

console.log(path, value)产生:

/ 123

一种解决方法是将您的login路线更改为嵌套路线:

const { path, value } = switchPath("/lossgin", {
  "/": 123,
  "/login": {"/": 456}, // <-- nested route
  "*": 789
});

console.log(path, value)产生:

/lossgin 789

请参阅此处的代码示例。

于 2018-08-31T00:09:52.127 回答