【发布时间】:2021-02-01 20:44:48
【问题描述】:
我正在做一个带有 react、redux、redux-thunk 的电子商务网站(我还不知道 redux-thunk)。假设该网站有6页主页、商店页面和联系页面、关于页面、订单页面、结帐页面,如果我们点击产品,它将显示产品详细信息页面。
在 主页 中有 3 个不同的滑块,需要所有产品都显示在滑块中,这意味着我需要在主页中包含 API 中的所有产品。
另外,在商店页面上,我需要在商店页面
上显示所有产品我有一个名为 Layout 的组件,我在其中有条件地渲染页面,例如 for / Homepage 将被加载, /shop shop-page 将被加载。然后我在 Appjs 文件中导入 Layout 组件。
App.js
import React from 'react';
import './App.module.css';
import { Route, Switch } from 'react-router-dom';
import Layout from './container/layout/Layout.js'
import HomePage from './Pages/HomePage/HomePage';
import ShopPage from './Pages/ShopPage/ShopPage';
import SingleRroductPage from './Pages/SingleProductPage/SingleRroductPage';
function App() {
return (
<div className="App">
<Layout>
<Switch>
<Route path="/" exact component={HomePage} />
<Route path="/shop" component={ShopPage} />
<Route path="/single/:id" component={SingleRroductPage} />
</Switch>
</Layout>
</div>
);
}
export default App;
布局.js
import React from 'react';
import Topbar from '../../component/header/topbar/Topbar';
import Footer from '../Footer/Footer';
import Navbar from '../navbar/Navbar';
function Layout(props) {
return (
<div>
<Topbar />
<Navbar />
{props.children}
<Footer/>
</div>
);
}
export default Layout;
现在的问题是我应该在哪里从 API 加载产品?
-在 Appjs 中? -分别在主页和商店页面上? -在layoutjs文件中?
如果我将所有产品加载到 App.js 或 Layout.js 文件中,那么所有产品都将位于每隔一个页面上,例如联系页面和关于页面。不会是性能问题吧?
产品详情页面
我是否应该使用不同的 API 端点,例如
`` "/api/products/single:id" ? ``` 还是从所有产品按 id 过滤?
【问题讨论】:
标签: reactjs redux e-commerce redux-thunk