Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Redux传奇重定向到Wordpress页面_Reactjs_Wordpress_Redux Saga - Fatal编程技术网

Reactjs Redux传奇重定向到Wordpress页面

Reactjs Redux传奇重定向到Wordpress页面,reactjs,wordpress,redux-saga,Reactjs,Wordpress,Redux Saga,我有一个React应用程序作为Wordpress repo中的子模块。React应用程序负责库存及其所有页面,而Wordpress负责所有其他页面 我有一个saga函数,可以获取库存详细信息。如果没有响应,我想将其重定向到另一个页面yield-put(push(“/sales”)。问题是此页面存在于Wordpress上,而不是我的React应用程序。因此,当执行此操作时,它会尝试在React中查找路由,但找不到,然后转到404页面。但是,当我刷新时,它会加载Wordpress页面。我尝试在yie

我有一个React应用程序作为Wordpress repo中的子模块。React应用程序负责库存及其所有页面,而Wordpress负责所有其他页面

我有一个saga函数,可以获取库存详细信息。如果没有响应,我想将其重定向到另一个页面
yield-put(push(“/sales”)
。问题是此页面存在于Wordpress上,而不是我的React应用程序。因此,当执行此操作时,它会尝试在React中查找路由,但找不到,然后转到404页面。但是,当我刷新时,它会加载Wordpress页面。我尝试在
yield-put(push(URL))中添加绝对URL
,但它给我发送了一个无限重定向循环。我想知道是否有可能重定向到redux传奇中的Wordpress页面

function* requestInventoryDetails(action) {
  try {
    if (response && response.stockNumber) {
      .
      .
      .
    } else {
      yield put(push('/sales'))
      // window.location.reload()
    }
  } catch (err) {
    yield put(SET_ERROR('There was an error retrieving the inventory details'))
    throw err
  }
}

如果您在react应用程序之外导航,可能需要执行
window.location.assign(absoluteUrl);
?您的普通redux路由器不需要参与。如果您想让事情保持可测试性,可以将其放在单独的函数中,以便在saga测试中模拟

function navigateToExternalPage(url) {
    window.location.assign(url);
}

function* requestInventoryDetails(action) {
  try {
    if (response && response.stockNumber) {
      .
      .
      .
    } else {
      yield call(navigateToExternalPage, externalUrl);
    }
  } catch (err) {
    yield put(SET_ERROR('There was an error retrieving the inventory details'))
    throw err
  }
}