一个适合新手的react小demo
之前一直都是在用 这里用到了redux、route3.x、还有一个简单的高阶组件运用 如果对redux不熟的话建议去看下阮一峰的教程 路由这块想必用多说了吧,大家一看也就能懂 至于高阶组件听到这名字就觉得是一个很深奥的东西,其实如果你用过 行,我觉得讲到以上这几点对做一个react项目应该够用了,至于其它的一些东西就去看api吧
import React from "react"; import {Router,Route,IndexRoute} from "react-router"; let {App,Main,Info,News,Article,NewsInfo} = ''; App = (lt,cb) => {require.ensure([],require => {cb(null,require('../views').default);},'/');}; Main = (lt,require('../views/main').default);},'main');}; Info = (lt,require('../views/info').default);},'info');}; News = (lt,require('../views/news').default);},'news');}; NewsInfo = (lt,require('../views/newsInfo').default);},'news');}; Article = (lt,require('../views/article').default);},'article');}; class RouterMap extends React.Component { render() { return ( <Router history={this.props.history}> <Route path="/" getComponent={App}> <IndexRoute getComponent={Main} /> <Route path="info/:id" getComponent={Info} /> <Route path="news" getComponent={News} /> <Route path="news/:id" getComponent={NewsInfo} /> <Route path="article" getComponent={Article} /> </Route> </Router> ); } } export default RouterMap;
//每个需要使用到redux的组件里主要是这三块 //他的整个流程如下步骤 //步骤3: function mapStateToProps(state) { return { newList: state.pageParams.newList.value,}; } //步骤1: function mapDispatchToProps(dispatch) { return { getNewsList: (value) => dispatch({type: GETNEWSLIST,value}),}; } ...... export default connect(mapStateToProps,mapDispatchToProps)(News); //redux //步骤2: function pageParams(state = {newList: []},action) { return { newList: Object.assign(state.newList,action.type === GETNEWSLIST ? action.value : []),}; } export default combineReducers({ pageParams });
import React from 'react'; export default (WrappedComponent) => { class ArticleInfo extends React.Component { constructor(props) { super(props); this.state = { username: '',}; } componentWillMount() { let username = "科比、乔丹"; this.setState({ username: username,}); } dellClick(num) { if (num === 1) { console.log('科比'); }else { console.log('乔丹'); } } showClick() { console.log('我是showClick'); } render() { const props = { ...this.props,dClick: this.dellClick,sClick: this.showClick,}; return <WrappedComponent {...props} />; } } return ArticleInfo; }; 好啦,主要内容就这些啦,是不是很简单。 代码地址这在如果觉得有用给我一个star吧 ~!~最后给大家拜个早年!!! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |