版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
菜单 .Itemkey菜单项item//importReactfrom'react';importReactDomfrom'react-dom';import{Route,Link,BrowserRouterasRouter}from'react-router-dom';import{ ,Icon}from'antd';importLoginfrom' importRegfrom' importPubfrom //importLfrom //importPostfrom import'antd/lib/ import'antd/lib/icon/style';constHome=()=>constAbout=()=>constApp=()=>< .Itemkey="home"><Linkto="/"><Icontype="home"/>主页 .Itemkey="login"><Linkto="/login"><Icontype="login"/>登录 <.Itemkey="reg"><Linkto="/reg"> .Itemkey="pub"><Linkto="/">发布 .Itemkey="list"><Linkto="/"><Icontype="bars"/>文章列表 .Itemkey="about"><Linkto="/about">关于 </<Routepath="/about"component={About}<Routepath="/login"component={Login}<Routepath="/reg"component={Reg}<Routeexactpath="/"component={Home}ReactDom.render(<App importReactfrom'react';importReactDomfrom'react-dom';import{Route,Link,BrowserRouterasRouter}from'react-router-dom';import{Layout, ,Icon}from'antd';importLoginfrom' importRegfrom' importPubfrom importLfrom importPostfrom import'antd/lib/ import'antd/lib/icon/style';constHeaderContentFooterLayoutconstHome=()=>constAbout=()=>constApp=()=><mode="horizontal" .Itemkey="home"><Linkto="/"><Icontype="home"/>主页 .Itemkey="login"><Linkto="/login"><Icontype="login"/>登录 <.Itemkey="reg"><Linkto="/reg"> .Itemkey="pub"><Linkto="/pub">发布 .Itemkey="list"><Linkto="/"><Icontype="bars"/>文章列表 <<.Itemkey="about"><Linkto="/about">关于><Contentstyle={{padding:'8px50px'<divstyle={{background:'#fff',padding:24,minHeight:280<Routepath="/about"component={About}<Routepath="/login"component={Login}<Routepath="/reg"component={Reg}<Routepath="/pub"component={Pub}<Routeexactpath="/"component={Home}<Footerstyle={{textAlign:'center'ReactDom.render(<App .Item .Itemkey="list"><Linkto="/"><Icontype="bars"/>文章列表
/post/pubPOST提交博文的title、content,成功返回/post/idGET返回博文详情,返回Json,post_id、title、author、author_id、postdate(时间戳)、/post/GETimportimportaxiosfromimport{observable}fromexportdefaultclass{@observablemsg=pub(title,{console.log(title);axios.post('/api/post/pub',{title,})/*devserverresponse=>{//此函数要注意this的问题}}error=>this.msg='登陆失败';//+})}} importReactfromimport{Link,Redirect}from'react-router-dom';import{observer}from'mobx-react';import{message}from'antd';import{inject}from'../utils';import{Form,Input,Button}fromimportFormItemfrom'antd/lib/form/FormItem';//不在antdimportPostServicefromimport'antd/lib/form/style';import'antd/lib/input/style';import'antd/lib/button/style';const{TextArea}=constservice=newPostService();@inject({service})exportdefaultclassPub {handleSubmit(event){letfm=event.target;ps.service.pub(fm[0].value,}render()if{(ps.service.msg,()=>setTimeout(()=>ps.service.msg=}return<Formlayout="vertical"<FormItem<FormItemlabel="标题labelColspan4wrapperColspan14 ceholder="标题"<FormItemlabel="内容labelColspan4wrapperColspan14<TextArearows={10}<FormItemwrapperCol={{span:14,<Buttontype="primary"htmlType="submit">提交}} mmlll后占用的宽度,这些单位都是栅格系统的宽度。Input输入框, TextArea文本框,rows行数Button按钮,htmlType使用HTML中的tye值,sbmt是提交按钮会触发提交行为,但是hanleSumt中要阻止默认行为。header中的由于与DjangoServer通信,认证需要Jwt,这个要放到requestheader中。使用axios的importimportaxiosfromimport{observable}from'mobx';importstorefrom'store';exportdefaultclass{constructor()//创建自定义实例,可以增加请求headerthis.axios=:}@observablemsg="";getJwt(){returnstore.get('token',}pub(title,{{title,},{headers:{'Jwt':this.getJwt()}})/*devserverresponseresponse=>{//此函数要注意thisthis.msg='博文提交成功'//+}error=>this.msg='登陆失败';//+})}}////importLfrom constApp=()=><<<<<<<.Itemkey="home"><Linkto="/"><Icontype="home"/>主页.Itemkey="login"><Linkto="/login"><Icontype="login"/>登录.Itemkey="reg"><Link.Itemkey="pub"><Linkto="/pub">发布.Itemkey="list"><Linkto="/list"><Icontype="bars"/>文章列表.Itemkey="about"><Linkto="/about">关于><Contentstyle={{padding:'8px50px'<divstyle={{background:'#fff',padding:24,minHeight:280<Routepath="/about"component={About}<Routepath="/login"component={Login}<Routepath="/reg"component={Reg}<Routepath="/list"component={L}<Routepath="/pub"component={Pub}<Routeexactpath="/"component={Home}<Footerstyle={{textAlign:'center'
constmatch,pslocation也是一个对象,pathname表示路径,search表示查询字符串。 。拿到查询字符串后,可以使用URLSeachPams解析它,但是它是实验性的,不建议用在生产环境中。本次将查询字符串直接拼接发往后端,有Django服务器端判断。varvarparams=newURLSearchParams(url.search);console.log(params.get('page'),params.get('size'))参考 /react-List importimportReactfromimport{observer}from'mobx-react';import{message}from'antd';import{inject}from'../utils';import{List}from'antd';import{Link}from'react-router-import'antd/lib/message/style';importconstservice=newexportdefaultclassL{constructor(props){//}render()letdata=ps.service.posts;if(data.length){return<Listbordered={true}dataSource={data}renderItem={item=>}}elsereturn}}}ListbordereddataSource List.Item<List<Listbordered={true}dataSource={data}renderItem={item=>(<List.Item><Linkto={'/post/'+}<List<Listbordered={true}dataSource={data}renderItem={item=><List.Item.Metatitle={<Linkto={'/post/'+item.post_id}>{item.title}</Link>}}<Linkto={'/post/'+item.post_id}>{item.title}</Link>importimportaxiosfrom'axios';import{observable}from'mobx';importstorefrom'store';exportdefaultclass{constructor()//创建自定义实例,可以增加请求headerthis.axios=axios.create({baseURL}@observablemsg=@observableposts@observablepagination={page:1,size:20,pages:0,count:0}//pubpub(title,content){/*省略listresponse=>{//此函数要注意thisthis.posts=response.data.posts;this.pagination=response.data.pagination;//}error=>this.msg='文章列表加载失败';//+})}letleturl='?id=5&page=1&size=20&id=&age-20&name=abc&name=汤姆=&测试=1'functionparse_qs(qs,re=/(\w+)=([^&]+)/){letobj=if(qs.startsWith('?'))qs=qs.substr(1)letmatch=if(match)obj[match[1]]=return}paginationcurrent,当前页pageSizeonChange,页码切换时调用,回调函数为(pageNo,pageSizeimportReactfromimport{observer}from'mobx-react';import{message}from'antd';import{inject,parse_qs}from'../utils';import{List}from'antd';import{Link}from'react-router-dom';import'antd/lib/list/style';constservice=newexportdefaultclassL {constructor(props){//}handleChange(pageNo,//letsearch='?page='+pageNo+'&size='+pageSize;}render()if(data.length){return(<Listbordered={true}dataSource={data}renderItem={item=>(<List.Item><List.Item.Metatitle={<Linkto={'/post/'+</Link>}}
}elsereturn}}}}importimport{LocaleProvider}from from<LocaleProvider <App 浏览器地址不变的问题(可选基本上没有什么问题了,但是,如果在地址栏里面输入 ,当前pageNo
importimportReactfromimport{observer}from'mobx-react';import{message}from'antd';import{inject,parse_qs}from'../utils';import{List}from'antd';import{Link}from'react-router-dom';import'antd/lib/message/style';import'antd/lib/list/style';constservice=newexportdefaultclassL{constructor(props){}handleChange(pageNo,//letsearch='?page='+pageNo+'&size='+pageSize;}let{size=20}=obj;return'/list?page='+c+'&size='+}{if(type===return<Linkto={this.geturl(current)}>{current}</Link>;returnoriginalElement;}render()if(data.length){return(<Listbordered={true}dataSource={data}renderItem={item=>(<List.Item><List.Item.Metatitle={<Linkto={'/post/'+</Link>}}
}elsereturn}}}importimportReactfromimport{observer}from'mobx-react';import{message}from'antd';import{inject,parse_qs}from'../utils';import{List}from'antd';import{Link}from'react-router-dom';import'antd/lib/list/style';constservice=newexportdefaultclassL {constructor(props){//}handleChange(pageNo,//letsearch='?page='+pageNo+'&size='+pageSize;}let{size=20}=obj;return'/list?page='+c+'&size='+}itemRender(current,type,originalElement)if(current==0)returnoriginalElement;//竟然返回0,只 if(type===return<Linkto={this.geturl(current)}>{current}</Link>;if(type==='next')return<Linkto={this.geturl(current)}className='ant-pagination-item-link'></Link>;if(type==='prev')return<Linkto={this.geturl(current)}className='ant-pagination-item-li
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国粉红色防静电指套数据监测研究报告
- 2024至2030年中国片式微调电容数据监测研究报告
- 2024至2030年中国汽车内装饰行业投资前景及策略咨询研究报告
- 2024至2030年中国晶闸管控制触发板行业投资前景及策略咨询研究报告
- 2024至2030年中国宽角度心型头戴式话筒行业投资前景及策略咨询研究报告
- 2024至2030年中国四通道高精度放大调理卡数据监测研究报告
- 内蒙古巴彦淖尔市(2024年-2025年小学五年级语文)统编版专题练习((上下)学期)试卷及答案
- 江苏省泰州市(2024年-2025年小学五年级语文)人教版竞赛题((上下)学期)试卷及答案
- 【高中数学课件】排列、组合和概率
- 住宅楼钢楼梯及户内钢构架工程施工组织设计
- 木箱包装件产品包装作业指导书
- 尿素水解制氨系统培训20180808
- APQP产品设计与开发(共97页).ppt
- 平乐郭氏正骨外治方药撷英
- Invoice商业发票模板
- 金属平衡管理办法
- 退房通知书模板
- 行政服务中心窗口工作人员手册
- JGJ_T231-2021建筑施工承插型盘扣式钢管脚手架安全技术标准(高清-最新版)
- 初中语文教学中生本理念的实践分析
- 中国移动通信集团应聘信息表
评论
0/150
提交评论