react 使用小结

1、动态获取object数据,必须给数据一个初始值,否则无法调用,对象里面的数据,跑出错误;

2、请求的数据最好在 componentDidMount 中,有动态更新的数据,用state存储,或者使用 mobx||redux 进行数据管理,其他的如 componentDidUpdate使用起来非常消耗性能,不建议在数据量大的时候使用;

3、mobx的es6写法,ie浏览器不支持,如需兼容ie最好采用es5的写法(ie下不支持Ant DesignButton中套用Link标签);

4、babel 升级之后,webpack打包提示babel转移到babel-core ,在安装了之后babel-core还是报错,这是需要uninstall babel ,webpack里面的配置不再支持省略loader

      原写法:

         

{
                test: /\.css$/,
                loader: 'style!css'//添加对样式表的处理
}

  新写法:

{
                test: /\.css$/,
                loader: 'style-loader!css-loader'//添加对样式表的处理
}

  

 

5、关于react route自从升级到4.1.1版本之后,直接

<Router history={browserHistory}></Router>
会报错'react-router' does not contain an export named 'browserHistory'.,新版的估计不支持直接这样使用(可怜我3.0的react route都可以),所以现在我们使用react route必须要重新进行配置,看来网上教程说是在服务端进行设置,由于现在只是个人联系项目,所以教大家一下使用新的标签
请确保安装一下模块
    "react": "^15.6.1",
    "react-dom": "^15.6.1",
    "react-router": "^4.1.1",
    "react-router-dom": "^4.1.1"
import React, { Component } from 'react';
import { Switch, Redirect, Router, Route, IndexRoute, browserHistory, hashHistory } from 'react-router';
import { BrowserRouter, Link } from 'react-router-dom';
import { createHashHistory } from 'history';

// 登录界面
import Login from '../Login/index';

class App extends Component {
    render() {
        return (
            <BrowserRouter>
                <Switch>
                    <Route path="/" component={Login} />
                </Switch>
            </BrowserRouter>
        );
    }
}

export default App;

  路由包含在

BrowserRouter
Switch下就可以直接使用了,给大家看一下效果

 


 

 

posted @ 2017-06-15 16:18  h88829  阅读(834)  评论(0编辑  收藏  举报