站長資訊網
        最全最豐富的資訊網站

        react怎么請求部分刷新

        react請求部分刷新的實現方法:1、引入布局和子組件;2、分配路由,代碼如“const BasicRoute = () => (…)”;3、定義項目的link;4、用“BasicLayout”標簽包裹,將內容傳到“layout.js”的“this.props.children”部分即可。

        react怎么請求部分刷新

        本教程操作環境:Windows10系統、react18.0.0版、Dell G3電腦。

        react怎么請求部分刷新?

        React實現局部刷新

        【項目結構】

        流程: 入口文件 -> 路由 -> layout -> Analysi/Monitor/Workspace

        1.入口文件 -> src/index.js

        2.組件 -> src/coms

        3.布局 -> src/layout

        4.路由 -> src/routes

        react怎么請求部分刷新

        【流程解析】

        流程: 入口文件 -> 路由 -> layout -> Analysi/Monitor/Workspace

        1.路由部分

        //import React from 'react'; 引入類 //import { Component } from 'react';  引入對象 import React, { Component } from 'react'; import {HashRouter, Route, Switch} from 'react-router-dom';  //引入布局和子組件 import BasicLayout from '../layout/layout'; import Analysis from '../coms/Analysis'; import Monitor from '../coms/Monitor'; import Workplace from '../coms/Workplace';  //分配路由 const BasicRoute = () => (     <HashRouter>         <Switch>             <Route exact path="/" component={BasicLayout}/>             <Route exact path="/Analysis" component={Analysis}/>             <Route  path="/Monitor" component={Monitor}/>             <Route  path="/Workplace" component={Workplace}/>         </Switch>     </HashRouter> );  export default BasicRoute;
        登錄后復制

        2.布局部分(重點

        import React, { Component } from 'react'; import  {Layout ,Menu,Icon} from 'antd'; import { Router, Route, Link,HashRouter } from 'react-router-dom' import 'antd/dist/antd.min.css' import BasicRoute from '../routes/router';  const { Header, Footer, Sider, Content } = Layout;  export default class BasicLayout extends Component {   render() {     return (         <Layout>         <Sider width={256} style={{ minHeight: '100vh', color: 'white' }}>                          <Menu theme="dark" mode="inline" >                 {/*定義了項目的link,會按照路由走*/}                 <Menu.Item><Link to="/Analysis">Item1</Link></Menu.Item>             </Menu>                      </Sider>         <Layout >           <Header style={{ background: '#fff', textAlign: 'center', padding: 0 }}>Header</Header>           <Content style={{ margin: '24px 16px 0' }}>             <div style={{ padding: 24, background: '#fff', minHeight: 360 }}>               {/*Analysis.js文件引用了BasicLayout,并把自己的全部子節點(子組件)傳過來*/}               {this.props.children}                            </div>           </Content>           <Footer style={{ textAlign: 'center' }}>Ant Design ?2018 Created by Ant UED</Footer>         </Layout>       </Layout>     )   } }
        登錄后復制

        3.子組件(Analysis.js) (出錯點

        import React from 'react'; import BasicLayout from '../layout/layout'; export default () => {    //用BasicLayout標簽包裹,內容傳到layout.js的this.props.children部分        return (<BasicLayout><h1>Analysis Page</h1></BasicLayout>) }
        登錄后復制

        【效果】

        react怎么請求部分刷新

        【總結】

        按照antd官網的教程走了一遍,發現不能局部刷新

        原因在于官網用了umi框架。我是自己配置,有很多遺漏,導致子組件沒有正確的傳遞到layout中。

        推薦學習:《react視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产日韩精品中文字无码| 午夜精品成年片色多多| 刺激无码在线观看精品视频| 精品国产一区二区三区久久| 99免费精品视频| 欧美大片日韩精品| 国产精品久久久99| 欧美激情视频精品一区二区| 亚洲?V乱码久久精品蜜桃| 欧美精品VIDEOSSEX少妇| 国精品无码一区二区三区左线| 国产香蕉国产精品偷在线观看| 国产成人精品福利网站在线| 亚洲欧洲久久久精品| 久久精品aⅴ无码中文字字幕重口| 2020国产精品| 国产福利精品视频自拍| 91精品国产福利在线导航| 亚洲日韩精品射精日| 欧美精品VIDEOSSEX少妇| 四虎国产精品永久地址入口| 国产区精品福利在线观看精品| 亚洲国产成人久久精品99 | 无码国内精品人妻少妇| 亚洲av午夜福利精品一区人妖| 国产精品午夜一级毛片密呀| 精品综合久久久久久97超人| 国产亚洲精品精华液| 人妻精品久久久久中文字幕一冢本| 久久久久人妻精品一区三寸蜜桃| 亚洲精品成人网站在线观看| 99国产精品国产精品九九| 久久99国产精品尤物| 无码国产精品一区二区免费式芒果 | 四虎成人精品| 无码国内精品久久人妻麻豆按摩| 久久久久无码精品国产app| 久久精品国产99久久香蕉| 欧美成人精品欧美一级乱黄一区二区精品在线 | 亚洲国产精品一区第二页 | 91精品国产福利尤物|