接上篇        webpack学习(五)—webpack+react+es6(第1篇)

本文做个简单的图片加文字的页面。其中,配置文件跟上篇一致。项目结构:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.img{width:300px;height:100px;}
</style>
</head>
<body>
<div id="imgDemo"></div>
<script src="build/bundle.js"></script>
</body>
</html>

  

src/js/app.js

import React from 'react';
import ReactDOM from 'react-dom';
import ImgDemo from './imgDemo'; //模拟服务器传过来的数据
var dataList=[
{
'img':'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo_top_ca79a146.png',
'word':'百度的图标'
},
{
'img':'https://www.sogou.com/web/img/logo128_50x2.png',
'word':'搜狗的图标'
}
]; ReactDOM.render(
<ImgDemo data={dataList}/>,
document.getElementById('imgDemo')
)

src/js/imgDemo.js

import React from 'react';
import OneImg from './oneImg'
class ImgDemo extends React.Component{
render() {
// 遍历后端给的数据,并且插入 return <div>
{
this.props.data.map((arr,index)=>
<OneImg oneData={arr} key={index}/>
)
}
</div>;
}
} module.exports = ImgDemo

src/js/oneImg.js

import React from 'react';
class OneImg extends React.Component{ render(){
var oneData = this.props.oneData;
return <div>
<img className='img' src={oneData.img}/>
<p>{oneData.word}</p>
</div>
} }
module.exports = OneImg

其中,package.json、webpack.config.js跟上篇一致。这里不再列出。

安装: npm init

启动:npm run dev

项目地址:http://localhost:8080/index.html

注意:声明class,类名首字母需要大写,小写的话根本不走这个class。

以下的是废话,可以不看。。。

------------------

这里思考个问题:

上面的src/js/imgDemo.js是ES6的写法,如果用ES5,render()函数我们会怎么写?

  render() {
// 遍历后端给的数据,并且插入 return <div>
{
this.props.data.map(function(arr,index){
return <OneImg oneData={arr} key={index}/>
}
)
}
</div>;
}

ES5到ES6,唯一的区别是将匿名函数变成了箭头函数。当然,还可以把{}里的作为一个变量申明。

   render() {
// 遍历后端给的数据,并且插入
var oneWBNodes = this.props.data.map(function(aWB,index){
return <OneImg oneData={aWB} key={index}/>;
});
return <div>
{oneWBNodes}
</div>;
}

还是箭头函数简单。推荐箭头函数(ES6新加入的)

还有个问题:为什么用{}?

网上的解释:我们可以在 JSX 中使用 JavaScript 表达式。表达式写在花括号 {} 中,jsx用js的语法解析。

webpack学习(六)—webpack+react+es6(第2篇)的更多相关文章

  1. webpack学习笔记—webpack安装、基本配置

    文章结构: 什么是webpack? 安装webpack 'webpack基本配置 一.什么是webpack? 在学习react时发现大部分文章都是react和webpack结合使用的,所以在学reac ...

  2. webpack 学习资料

    webpack 学习资料 webpack 学习资料 网址 webpack 中文版 https://webpack.docschina.org/configuration/dev-server/

  3. webpack学习(六)—webpack+react+es6(第3篇)

    接上篇 : webpack学习(六)—webpack+react+es6(第2篇) 上篇其实是有问题的,问题在取服务器数据这块.this.props 表示那些一旦定义,就不再改变的特性,而 this. ...

  4. reactjs学习一(环境搭配react+es6+webpack热部署)

    reactjs学习一(环境搭配react+es6+webpack热部署) 本文的源码在这里下载 https://github.com/tianxiangbing/webpack-study   或者使 ...

  5. webpack学习(五)—webpack+react+es6(第1篇)

    如果你看过webpack学习系列的前一个文章,接下来做的东西会比较简单 :webpack学习(四)— webpack-dev-server react发展的很快,现在大部分开发react相关的项目,都 ...

  6. webpack+react+es6开发模式

    一.前言 实习了两个月,把在公司用到的前端开发模式做个简单的整理.公司里前端开发模式webpack+react+redux+es6,这里去掉了redux. webpack, react, redux等 ...

  7. Webpack+React+ES6 最新环境搭建和配置(2017年)

    刚刚学习React,发现React在ES6下的语法才是本体,结合ES6新的语言特性,使组件化开发显得更加直观.而且现在的Angular2也开始使用支持强类型的TypeScript,转译(transpi ...

  8. Webpack+React+ES6开发模式入门指南

    React无疑是今年最火的前端框架,github上的star直逼30,000,基于React的React Native的star也直逼20,000.有了React,组件化似乎不再步履蹒跚,有了Reac ...

  9. [webpack] 配置react+es6开发环境

    写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...

随机推荐

  1. noip模拟赛 三部曲

    分析:子树上操作,要用到线段树+dfs序,关键就是子树内k还要增加,这个就不是很好办.可以求出在根节点+0后每个点会加多少,记为d[i],如果要对点x进行A操作,实际上只需要对子树加k - d[i]再 ...

  2. Spring MVC-表单(Form)标签-列表框(Listbox)示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_listbox.htm 说明:示例基于Spring MVC 4.1.6. 以下示例 ...

  3. backup script

    #!/bin/bash ##################################################### # export the whole database use ex ...

  4. Apache模块开发指南-APR池

    转:原文: http://blog.csdn.net/zmxiangde_88/article/details/8038150 ------------------------------------ ...

  5. c# POST和GET方式通过server地址提交数据

    1:POST方式提交: <strong><span style="font-size:14px;">private static string HttpPo ...

  6. Java基础:String不可变性和final修饰

    转载请注明出处: jiq•钦's technical Blog - 季义钦 String的不可变性 Java规定String是不可变的(immutable).事实上这个不可变具备两层含义: 1 内容不 ...

  7. git出错调试

    https://stackoverflow.com/questions/6178401/how-can-i-debug-git-git-shell-related-problems git_trace ...

  8. Android内存解析(二)— 详解内存,内部存储和外部存储

    总述 觉得十分有必要搞清楚内存,内部存储和外部存储的区别,还有我们在开发中真正将数据存在了手机的哪儿. 先提一个问题:手机设置的应用管理中,每个App下都有清除数据和清除缓存,清除的分别是哪里的数据? ...

  9. hdu 1233(最小生成树 prim算法)

    还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  10. 三个命令解决ASTGO服务器重启后各种问题

    SSH 命令方式登录到服务器,依次执行下面三个命令. service httpd restart service mysqld restart safe_asterisk 前面两个命令提示无效,尝试从 ...