React单页应用SPA

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>React-SPA</title>
    <script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script>
    <script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script>
    <script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script>
</head>
<body>
<script type="text/babel">
    const About = React.createClass({
        render() {
            return <h3>About</h3>
        }
    });

    const Inbox = React.createClass({
        render() {
            return (
                <div>
                    <h2>Inbox</h2>
                </div>
            )
        }
    });

    const Home = React.createClass({
        render() {
            return <h3>Home</h3>
        }
    });

    const App = React.createClass({
        getInitialState() {
            return {
                route: window.location.hash.substr(1)
            }
        },

        componentDidMount() {
            window.addEventListener(‘hashchange‘, () => {
                this.setState({
                    route: window.location.hash.substr(1)
                })
            })
        },

        render() {
            let View;
            switch (this.state.route) {
                case ‘/about‘: View = About; break;
                case ‘/inbox‘: View = Inbox; break;
                default:      View = Home;
            }

            return (
                    <div>
                        <h1><a href="#/">Home</a></h1>
                        <ul>
                            <li><a href="#/about">About</a></li>
                            <li><a href="#/inbox">Inbox</a></li>
                        </ul>
                        <View/>
                    </div>
            )
        }
    });

    ReactDOM.render(<App />, document.body);
</script>
</body>
</html>

  

原文地址:https://www.cnblogs.com/huangtonghui/p/8431389.html

时间: 2024-11-10 08:01:56

React单页应用SPA的相关文章

单页应用SPA做SEO的一种清奇的方案

单页应用SPA做SEO的一种清奇的方案 网上有好几种单页应用转seo的方案,有服务端渲染ssr.有预渲染prerender.google抓AJAX.静态化...这些方案都各有优劣,开发者可以根据不同的业务场景和环境决定用哪一种方案.本文将介绍另一种思路比较清奇的SEO方案,这个方案也是有优有劣,就看读者觉得适不适合了. 项目分析 我的项目是用react+ts+dva技术栈搭建的单页应用,目前在线上已经有几十个页面,若干个sdk和插件在里面. 考虑想用服务端渲染来做seo,但是我的项目已经开发了这

单页应用 SPA(Sigle Page Aolication)

单页应用 SPA(Sigle Page Aolication) 优点: 1.具有桌面应用的即时性.网站的可移植性和可访问性. 2.用户体验好.快,内容的改变不需要重新加载整个页面,web应用更具响应性和更令人着迷. 3.基于上面一点,SPA相对对服务器压力小. 4.良好的前后端分离.SPA和RESTful架构一起使用,后端不再负责模板渲染.输出页面工作,web前端和各种移动终端地位对等,后端API通用化. 缺点: 1.不利于SEO. 2.初次加载耗时相对增多. 3.导航不可用,如果一定要导航需要

单页应用SPA开发最佳实践

最近用vue+vue-router做了个单页应用的项目,页面大概有15个左右.积累了一些开发经验在此做一些记录.本文主要从可维护性方面来考虑SPA的开发实践 全站的颜色定义放在一个less或者scss的文件里,其他组件和页面import这个配置来引用颜色. 示例代码:define.scss $bgColor: #fff; $color:#619eee; $fontColor:#333333; $fontColor01:#A5A5A5; $fontColor02:#4a4a4a; $fontCol

React单页项目开发经验总结

一.背景 最近在负责后台相关项目,使用jQuery+ajax完成了一个菜单配置(三级菜单级联)增删改查项目.一直都想把业余时间学习的react的知识应用到实际项目中,没有好的研发机会,乘着项目与另一个项目开发的空档期,把刚做的菜单配置功能用react实现一遍,于是立马动手实践起来: 二.关键点总结 1. package配置 代码开发完成,用create-react-app打包代码,发现build后的代码,直接用浏览器打开,文件资源路径报错,此时目测有两种方式,一种是修改node_modules里

Nodejs之MEAN栈开发(六)---- 用Angular创建单页应用

在上一节中我们学会了如何在页面中添加一个组件以及一些基本的Angular知识,而这一节将用Angular来创建一个单页应用(SPA).这意味着,取代我们之前用Express在服务端运行整个网站逻辑的方式(jade.路由都需要在服务端编译),我们将用Angular在客户端浏览器上跑起来.PS:在正常的开发流程上,我们可能不会在服务器端创建了一个网站,然后又用SPA重建它.但从学习的角度来说这还不错,这样掌握了两种构建方式. 上一节所有Angular相关的代码都在一个js里面,这不便管理和维护,这一

React构建单页应用方法与实例

React作为目前最流行的前端框架之一,其受欢迎程度不容小觑,从这门框架上我们可以学到许多其他前端框架所缺失的东西,也是其创新性所在的地方,比如虚拟DOM.JSX等.那么接下来我们就来学习一下这门框架是如何构建起一个单页应用的. 前言 首先在学习这门框架前,你需要对以下知识有所了解: 原生JS基础 CSS基础 npm包管理基础 webpack构建项目基础 ES6规范 以上五个知识点也是目前学习其他前端框架所必须了解的前置任务.JS和CSS就不多说了,npm是目前最提倡也是占据主导地位的包管理工具

前端 SPA 单页应用数据统计解决方案 (ReactJS / VueJS)

前端 SPA 单页应用数据统计解决方案 (ReactJS / VueJS) 一.百度统计的代码: UV PV 统计方式可能存在问题 在 SPA 的前端项目中 数据统计,往往就是一个比较麻烦的事情,React 和 Vue 也是一样. 在 发现问题之前,我们得来思考下 百度统计的 统计原理 是什么? 1-1: 百度统计代码 var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.

单页web应用(SPA)的简单介绍

单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用.它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML.JavaScript 和 CSS.一旦页面加载完成了,SPA不会因为用户的操作而进行页面的重新加载或跳转.而是利用 JavaScript 动态的变换HTML的内(采用的是div切换显示和隐藏),从而实现UI与用户的交互.由于避免了页面的重新加载,SPA 可以提供较为流畅的用户体验.得益于ajax,我们

使用 AngularJS 开发一个大规模的单页应用(SPA)

本文的目标是基于单页面应用程序开发出拥有数百页的内容,包括认证,授权,会话状态等功能,可以支持上千个用户的企业级应用. 下载源代码 介绍 (SPA)这样一个名字里面蕴含着什么呢? 如果你是经典的Seinfeld电视秀的粉丝,那么你一定知道Donna Chang这个名字.Jerry跟Donna见面,Donna其实不是华人,但是却因在谈论其对中国的固有印象比如在针灸上的兴趣,以及偶然的一次单词发音带上了点儿中文口音,她将自己末尾的名字缩成了Chang Donna 在电话上同George的母亲交谈,(