不会的要多查多问,不然不会的永远不会,哪怕你离会就差了那么一点点
						
					使用ES5||ES6 -- 输入文件示例 [调用所依赖的模块]:
JavaScript代码
- /****** ES5调用依赖模块[require]被打包会自动生成关联代码 ******/
 - var MyComponent = require('./components/movie-list');
 - /****** ES6调用依赖模块 ******/
 - import MyComponent from './components/movie-list';
 
使用ES5||ES6 -- 输出文件示例[输出给被依赖模块]:
JavaScript代码
- /****** ES5输出给router ******/
 - module.exports=DemoComponent;
 - /****** ES6输出给router ******/
 - //export default DemoComponent;
 
使用ES5 -- 创建一个组件:
JavaScript代码
- /****** 使用Es5语法 React.createClass 创建一个组件 ******/
 - var DemoComponent = React.createClass({
 - /****** 使用 getInitialState 的返回值作为数据的默认值(!return) ******/
 - getInitialState: function () {
 - return {
 - loading: true,
 - title: '我喜欢的电影',
 - // 注意这里将 外部传入的数据赋值给了 this.state
 - movies: []
 - }
 - },
 - /****** 输出HTML模板,此处可以调用子组件******/
 - render: function () {
 - return (
 - <div className="component-hello">
 - {this.state.title}
 - </div>
 - )
 - }
 - });
 
使用ES5 -- map遍历当前Array并调用渲染数据的[外部]子组件:
JavaScript代码
- /****** 使用Es5语法 遍历数组并调用外部子组件 ******/
 - var MoviesList=React.createClass({...});
 - var dataHtml = movies.map(function(movies){
 - return (
 - <MoviesList _movies={movies}/>
 - )
 - }.bind(this));// 注意这里 bind(this) 修正了上下文
 - return (
 - <ul>{dataHtml}</ul>
 - )
 - /****** 外部子组件map数组当做模板之用 ******/
 - var MoviesList = React.createClass({
 - render: function () {
 - // this.props 用于从组件外部传入数据
 - var _movies = this.props._movies;
 - return (
 - <li className="datali">
 - {_movies.id}-{_movies.name}
 - </li>
 - )
 - }
 - });
 
使用ES5 -- map遍历当前Array并调用渲染数据的[内部]子组件:
JavaScript代码
- /****** 使用Es5语法 遍历数组并调用内部子组件 ******/
 - function renderMovies({id,name}){
 - return <li>{id}-{name}</li>;
 - }
 - var dataHtml = movies.map(renderMovies);
 - return (
 - <ul>{dataHtml}</ul>
 - )
 
Ajax获取接口数据并设置到state :
JavaScript代码
- componentDidMount(){
 - $.ajax({
 - type: 'GET',
 - url: 'http://code.liuxinxiu.com/php/Interface/Jsoncallback.php', //JSONP接口
 - data: {GUID:'1'},
 - dataType:'jsonp', //告诉Ajax调用$jsonp
 - jsonp: "Jsoncallback", //zpeto-1.2支持自定义回调名
 - success: function(data){
 - var yy=JSON.stringify(data);
 - var tlist=JSON.stringify(data.enttityList);
 - //console.log(tlist);
 - //console.log(this.state.title+'22');
 - this.setState({
 - comments:data.enttityList,
 - lottery:data.enttityList[0].lottery
 - });
 - var commentsStr=JSON.stringify(this.state.comments);
 - console.log("\n--->>commentsStr:\n"+commentsStr); //查看获取的数据
 - //console.log(this.state.comments+'33')
 - }.bind(this),
 - error: function(xhr, type){
 - alert(xhr+type+'Ajax error!');
 - }
 - });
 - //console.log(this.state.comments+'++++--!!'); //ajax底下拿不到结果因为提前于异步
 - }
 
react 的事件调用分类
C#代码
- 触摸事件:onTouchCancel\onTouchEnd\onTouchMove\onTouchStart
 - (只会在移动设备上接受)
 - 键盘事件:onKeyDown\onKeyPress\onKeyUp
 - 剪切事件:onCopy\onCut\onPaste
 - 表单事件:onChange\onInput\onSubmit
 - 焦点事件:onFocus\onBlur
 - UI元素:onScroll(移动设备是手指滚动和PC的鼠标滑动)
 - 滚动事件:onWheel(鼠标滚轮)
 - 鼠标类型:onClick\onContextMenu(右键)\onDoubleClick\onMouseDown\onMouseEnter\
 - onMouseLeave\onMouseMove\onMouseOut\onMouseOver\onMouseUp
 - onDrag\onDrop\onDragEnd\onDragEnter\onDragExit\onDragLeave\onDragOver\onDragStart
 



 2016/09/23 21:06 | by 
  
 
 
 
 
 


