开发者问题收集

刷新 Redux 组件后,浏览器中出现“无法获取”网址错误

2016-08-25
795

在从另一个组件导航到 URL localhost:8080/productDesc/433899641 时,我首次加载时正确呈现了以下组件。 但是,刷新页面时,浏览器 不会加载 React 并在显示屏中返回错误消息 “无法获取 /productDesc/433899641”,控制台中没有任何内容可供调试

import React from 'react'

const ProductDesc = (props)=>{

    function test(element,index,array){
      var convertId = Number(productId)
      if(element.id === convertId){
        return true;
      }
    }
    const products  = props.products;
    const productId = props.params.itemId;

    const i = products.findIndex(test);

    const product = products[i];
    console.log(product);

    return (
     <ProductComponent />
    )

}

ProductDesc.propTypes = {
  products: React.PropTypes.array
};

export default ProductDesc;

我的路由如下

  <Provider store={store}>
    <Router history={ history }>
      <Route path="/" component={ App }>
          <IndexRoute component={ ProductsGrid } />
          <Route
            path="/productDesc/:itemId"
            component={ ProductDesc }
          />
      </Route>
    </Router>
  </Provider>

我应该如何保持当前状态并重新加载它?我正在使用 Redux

1个回答

为了在服务器重新加载后继续运行,您的服务器也需要支持它,无论请求什么路径,都要使用 index.html 进行响应。否则,请使用 hashHistory 而不是 browserHistory。

goldbullet
2016-08-25