Redux-Saga文档中的奇怪登录流程示例

Emi*_*mil 6 javascript reactjs redux redux-saga

例如,如果您在redux-saga的文档中阅读节,则会有一个与登录流相关的示例,如下所示.

function* loginFlow() {
  while (true) {
    yield take('LOGIN')
    // ... perform the login logic
    yield take('LOGOUT')
    // ... perform the logout logic
  }
} 
Run Code Online (Sandbox Code Playgroud)

如上所述:

loginFlow Saga更清楚地传达了预期的动作序列.它知道LOGIN操作应始终跟随LOGOUT操作,并且LOGOUT后面始终跟一个LOGIN

LOGOUT是否始终遵循LOGIN?我不这么认为.例如,当用户像往常一样登录到网站时,会话将存储在网站的cookie中,当用户再次访问该网站时,loginFlow saga将如何捕获LOGOUT操作?

或者,下一个示例,再次登录此处描述.我想知道如果授权还没有完成,用户可以点击LOGOUT,还没有显示用户退出网站的按钮?这些例子听起来很奇怪 我有点困惑.

谁能解释我这些例子如何适应登录流程的真实情况?

谢谢.

Kar*_*ala 1

仅当一个或多个操作与其关联时,传奇才会运行。例如,您有一个按钮,用于调度类型为 {type:"LOGIN_LOGOUT", data} 的操作。现在假设仅当此操作调度上述传奇时才会被调用。如果登录,它将注销,反之亦然,因此是这个例子。