暂时放弃angularjs 学习React

视频学习地址:

http://www.jtthink.com/course/play/575

官方地址

https://facebook.github.io/react/

cdn路径

<!DOCTYPE html>
<html>
<meta charset=‘utf-8‘>
<head>
    <title></title>
    <script src="http://cdn.bootcss.com/react/15.0.0/react.min.js"></script>
    <script src="http://cdn.bootcss.com/react/15.0.0/react-dom.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.34/browser.min.js"></script>
</head>
<body>

</body>
</html>

demo 1

  <div id="example"></div>
    <script type="text/babel">
      ReactDOM.render(
        <h1>Hello, world!</h1>,
        document.getElementById(‘example‘)
      );
    </script>

demo 2 循环

<div id=‘navbar‘></div>
</body>
<script type="text/babel">
var nav_li=[
<li><a href=‘#‘>最新电影</a></li>,
<li><a href=‘#‘>最新评论</a></li>
    ];
ReactDOM.render(
         <ul>{nav_li}</ul>,
         document.getElementById(‘navbar‘)
)
</script>
</html>

<script type="text/babel">
var nav_li=[‘最新电影‘, ‘最新评论‘];
ReactDOM.render(
         <ul>
         {
             nav_li.map(function(item){
                 return <li><a href=‘#‘>{item}</a></li>;
             })
         }
         </ul>,
         document.getElementById(‘navbar‘)
)
</script>

绑定事件{匿名函数、函数表达式}

<script type="text/babel">
var aa = function()
{
alert("123");
}

var nav_li=[‘最新电影‘, ‘最新评论‘];
ReactDOM.render(
         <ul>
         {
             nav_li.map(function(item){
                 return <li><a href=‘#‘ onClick={function(){alert(‘123‘)}}>{item}</a></li>;
          return <li><a href=‘#‘ onClick={aa}>{item}</a></li>;
             })
         }
         </ul>,
         document.getElementById(‘navbar‘)
)
</script>

但在正式环境中,是不使用这种方式编译的,而是使用nodejs + babel + plugin 来编译react

安装nodejs :http://nodejs.cn/
利用npm 安装 babel :npm install babel-cli -g
安装react专用插件:npm install babel-plugin-transform-react-jsx使用插件编译:babel --plugins transform-react-jsx src/myReact.js  --out-file build/myReact.js

配合编译的html:

<!DOCTYPE html>
<html>
<meta charset=‘utf-8‘>
<head>
    <title></title>
    <script src="http://cdn.bootcss.com/react/15.0.0/react.min.js"></script>
    <script src="http://cdn.bootcss.com/react/15.0.0/react-dom.min.js"></script>

</head>
<body>
 <div id=‘navbar‘></div>
 <script type="text/javascript" src="build/myReact.js"></script>
</body>

</html>

src/myReact.js:

var aa = function()
{
    alert("123");
}

var nav_li=[‘最新电影‘, ‘最新评论‘];
ReactDOM.render(
         <ul>
         {
             nav_li.map(function(item){
                 return <li><a href=‘#‘ onClick={aa}>{item}</a></li>;
             })
         }
         </ul>,
         document.getElementById(‘navbar‘)
)    

编写组件和内部事件、防止函数重命名,记得利用nodejs + babel + plugin插件编译一下

var NavLI = React.createClass({
    myFunc : function(){alert("123")},
    render : function()
    {
        return  <ul>
                    <li><a href=‘#‘ onClick={this.myFunc}>最新电影</a></li>
                    <li><a href=‘#‘>最新评论</a></li>
                </ul>
    }
})

ReactDOM.render(
         <NavLI />,
         document.getElementById(‘navbar‘)
)    

嵌套组件和属性

var NavLI = React.createClass({
    myFunc : function(){alert("123")},
    render : function()
    {
        return  <ul>
                    <li><a href=‘#‘ onClick={this.myFunc}>最新电影</a></li>
                    <li><a href=‘#‘>最新评论</a></li>
                    <li><SearchText abc = "Search" /></li>
                </ul>
    }
})

var SearchText = React.createClass({
    render:function()
    {
        return <input type="text" placeholder = "请输入文字" className = {this.props.abc} />
    }
})

ReactDOM.render(
         <NavLI />,
         document.getElementById(‘navbar‘)
)    
时间: 2024-12-20 12:13:38

暂时放弃angularjs 学习React的相关文章

转: angularjs学习总结(~~很详细的教程)

1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的使用情况却有不小的差距,参考文献/网络文章也很匮乏.这里便将我学习AngularJS写成文档,一方面作为自己学习路程上的记录,另一方面也给有兴趣的同学一些参考. 首先我自己也是一名学习者,会以学习者的角度来整理我的行文思路,这里可能只是些探索,有理解或是技术上的错误还请大家指出:其次我特别喜欢编写小

我的AngularJS 学习之旅

基础篇 1.Angular的 起源 2.比较Web 页面实现的几种方式 3.一些基本术语 4.Angular与其他框架的兼容性 5.总结 6.综合实例 很早之前就听朋友说起AngularJs,但由于各种原因,一直没去研究.最近正好有同事也对这个框架比较感兴趣,大家一起讨论,于是终于“名正言顺”地开始研究了. 本文的目的是记录一下自己这两周的学习点滴,算是学习笔记吧,如果对初学的朋友有一点帮助,那也算是一件好事.嘿嘿 1.Angular的 起源 关于Angular 的起源,可以追溯到2009 年的

angularjs学习总结(快速预览版)

对html标签的增强 -> 指令 指令的本质是什么 声明的方式调用相应的脚本,实现一些操作,声明的所在的dom就是脚本的执行上下文? 自定义标签 -- 标签指令自定义属性 -- 属性指令特定格式注释 -- 注释指令 概念模板 视图 模型 模块 指令 依赖注入 路由 > MVVM其他MVC框架 backbone emberjsAngular不依赖其他任何框架AngularJs重新定义了前端应用的开发方式,AngularJs特别适合开发单页面应用(SPA) > AngularJs的特性1.

Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

1.下载angularjs 进入其官网下载:https://angularjs.org/?,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.7/angular.js 所有版本:https://code.angularjs.org/ 2.示例1 HelloWorld ! 新建一个helloworld.html <!doctype html> <html ng-app> <head> &

我为什么放弃java学习Kotlin?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 我为什么放弃java学习Kotlin? - 一个学渣走向android之路 - 博客频道 - CSDN.NET 一个学渣走向android之路 坚持做自己懒得做但是正确的事情,你就能得到别人想得到却得不到的东西. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评

AngularJs学习总结-基本特性

现在的前端项目中基本上都会用到angularjs框架,之前并不了解这个框架,也是因为最近接手的项目,所以打算好好的学习下它.之前都是搞pc端,现在接手的是移动端的项目,移动端UI框架用的是ionic+vordova,没有用bootstrap,主要做的是ios+安卓的app界面,ionic这个框架也不太了解,也需要花时间好好熟悉下.angularjs学习小白一枚,欢迎大神指正. AngularJs是什么? 简单来说,即javascript的一个框架,通过script标签添加到网页中.即我们使用an

AngularJS 学习

AngularJS 学习笔记(1) AngularJS是一款前端JS框架.AngularJS官网 http://angularjs.org [开发环境准备]: 1,下载AngularJS:JS and CSS in Solution 2,编辑器 WebStorm,下载地址:https://www.jetbrains.com/webstorm/  (配合最新版JetBrains使用,可以即时无刷新显示更新代码后的效果) 3,下载最新版Chrome,并安装扩展程序:JetBrains IDE Sup

AngularJS学习--- 动画操作 (Applying Animations) ngAnimate step 12

1.切换目录 git checkout step-12 npm start 2.效果图 这里在点击右边的缩略图时,会有一个很明显的从下向上的动画过程. 3.代码实现: step11和step12之间的代码差异:https://github.com/angular/angular-phonecat/compare/step-11...step-12 Dependencies(依赖的js库): bower.json { "name": "angular-seed", &

正式学习 react(三)

有了基础的webpack基础,我们要对react的基本语法进行学习. 我这个教程全部用es6 实现.可能会忽略一些最基本的语法讲解,这些你在官网上或者其他别的地方都比我讲的全. 今天我要讲一下react用的较多的bind函数. 源码分析一波: 1 Function.prototype.bind = function() { 2 var __method = this; 3 var args = Array.prototype.slice.call(arguments); 4 var object