react制作豆瓣电影详细过程(一)

本文详细介绍了如何使用React、antd和react-router创建豆瓣电影应用的过程。首先通过建立React项目,然后引入antd库并创建movie、about和home三个页面组件。在app.jsx中配置路由规则,利用HashRouter、Route和Link实现页面跳转,确保刷新后仍能保持在原先查看的页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果图:(ps:不知道为什么有的图片显示不出来,但是链接都是对的)
在这里插入图片描述
1.建立react项目:

create-react-app douban
cd douban
npm start

2.页面用了蚂蚁金服的antd模板,所以先下载antd

npm install antd --save

3.创建三个文件,分别是movie.jsx,about.jsx,home,jsx,重点讲解movie这个页面里的相对应的页面。首先在需要在app.jsx里导入前面三个文件的组件名和antd的layout布局:在这里插入图片描述
一定要引入antd css样式,不然无法显示效果,在下面的代码里加上 import ‘antd/dist/antd.css’

import Movie from './movie.jsx'
import About from './about.jsx'
import Home from  './home.jsx'
import {
  Layout, Menu, Breadcrumb, Icon,
} from 'antd';

const { SubMenu } = Menu;
const {
  Header, Content, Footer, Sider,
} = Layout;

4.做成自己想要的效果后,因为要进行页面跳转等,所以导入react-router-dom

npm install react-router-dom

下载完成后导入

import {HashRouter,Link,Route} from 'react-router-dom'

Route和Link在中使用,HashRouter在整个网站中仅需使用一次,Route是路由规则,Link 是跳转路径
app.jsx主要代码为

 render() {
        return <HashRouter>
           <Layout className="layout" style={{height:"100%"}}>
                <Header>
                
                <Menu
                    theme="dark"
                    mode="horizontal"
                    defaultSelectedKeys={[window.location.hash.split('/')[1]]}
                    style={{ lineHeight: '64px' }}
                >
                    <Menu.Item key="home">
                    {/* to :要跳转的路径 */}
                        <Link to='/home'>首页
                        </Link >
                    </Menu.Item>
                    <Menu.Item key="movie">
                        <Link to='/movie/in_theaters/1'> 电影
                        </Link >
                    </Menu.Item>
                    <Menu.Item key="about">
                        <Link to='/about'>关于</Link>
                    </Menu.Item>
                </Menu>
                </Header>
                <Content style={{ background: '#fff' }}>
                {/* path:路由匹配路径 */}
                <Route path="/home" component={Home}></Route>
                <Route path="/movie" component={Movie}></Route>
                <Route path="/about" component={About}></Route>
               
                </Content>
                <Footer style={{ textAlign: 'center' }}>
                   
                </Footer>
            </Layout>
        </HashRouter>
    }

defaultSelectedKeys={[window.location.hash.split(’/’)[1]]}这句代码主要是为了刷新后依然在本来正在看的页面

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值