手机版

详细说明React单页应用的实现方法

时间:2021-09-08 来源:互联网 编辑:宝哥软件园 浏览:

首先,在学习这个框架之前,你需要了解以下知识:

1.原生JS基金会

2.CSS基金会

3.npm包管理基础

4.webpack构建了项目的基础

5.ES6规范

以上五个知识点也是学习其他前端框架时必须了解的前置任务。

JS和CSS就不提了。npm是目前最提倡和占主导地位的包管理工具,可以考虑搭配凉亭或其他工具的童鞋。作为新一代的打包工具,webpack在前端打包工具方面已经走在了前列,与Browserify相比有很大的优势。至于ES6规范,虽然目前主流浏览器不兼容,但是可以使用巴别塔等转换器进行转换。

结合其他主流前端框架,我个人认为构建单页应用程序有三个基本的东西:组件、路由和状态管理。然后我会基于这三个介绍React,当然其中会穿插一些额外的知识点。

包裹

React的组件组成和调用主要依赖于ES6的模块化和JSX的语法。以下是一个例子:

//main.jsimport从“React”中反应“import { render }”从“react-dom”中导入MyComponent。/component . js“import”。/Main . CSS//Main组件类mydemo扩展了react.component { render(){ return(div类名=' box ' my component//div)} } render((my demo/),document . getelementbyid(' app '))//component . js//subcomponent import react from ' react ' export default class my component扩展了react.component { render(){ return(div p这是一个组件!/p/div)}

从这个例子中,我们可以看到虚拟DOM和React的JSX的特点。与其他框架相比,React的虚拟DOM不仅可以提高页面的性能,还可以防止XSS攻击。这里不介绍虚拟DOM的具体原理

至于JSX语法,它是JS的一个语法糖,我们可以通过这个语法糖方便地实现一些功能。这里JSX把类XML的语法转换成纯JavaScript,把XML元素、属性和子节点转换成React.createElement类似JS语法的sugar和TypeScript等的参数。

途径

前端路由机制是构建单页应用的重要环节之一。通过前端路由,可以优化用户体验,不需要每次都从服务器获取所有数据,从而快速将页面展现给用户。

反应路由取决于反应路由器。反应路由器保持用户界面与网址同步。它具有简单的API和强大的功能,如代码缓冲区加载、动态路由匹配和建立正确的位置转换处理。

以下是反应路线的示例:

导入react,{ Component }从' React '导入{ render }从' react-dom '导入{ Router,Route,IndexRoute,Link,Browser history}从' React-Router ' const active={ color : ' red ' }类app扩展Component { render(){ return(div h1 my way/H1 ul lilinkto='/' active style={active}主页/链接/Li lilinkto='/用户' active style={ active }用户页面/链接/Li/ul {this。props . children }/div)} } class Index扩展了React。组件{ render() { return (div h2Index!/H2/div)} }类扩展了Users React。Component { render(){ return(div h2Users/H2/div)} } render((Router history={ browserHistory } Route path='/Component={ app } index Route Component={ index }/Route path=' users ' Component={ users }/Route/Route/Router),document.getelementbyid ('app ')此处仅列出了React的一个路由写入。与其他框架相比,React路由的语法更容易理解。

国家管理

对于单页应用程序,状态管理不是必需的。使用它可以帮助我们统一管理每个状态的变化,并使整个项目过程清晰和可维护。要实现状态管理,React可以使用官方推荐的Redux。

Redux使用严格的单向数据流。整个应用程序状态存储在一个对象树中,这个对象树只存在于一个存储中。

项目实例

这里我用React写了一个单页网站,页面如下:

取得

因为我在上面的例子中使用了Fetch进行Ajax交互,所以我将在这里简单介绍Fetch。我们可以把Fetch作为下一代Ajax技术,它采用了流行的Promise方法。

通过Fetch,我们可以为数据交互编写这样的Ajax:

//get data方法fetchfn=()={fetch('././data.json ')。然后((RES)={ console . log(RES . status);Return res.json ()})。然后((数据)={ this . setstate({ lists 3360 data . listdata })})。catch((e)={ console . log(e . message)})}摘要

学习一个框架最重要的不是学习它的技术,而是学习它带来的解决问题的思路。通过学习React的框架,你可以从它独特的新特性中探索一种新的思维方式。只有思维层次拓展了,才能在前海自由飞翔。希望这篇文章对大家学习React有所帮助。

版权声明:详细说明React单页应用的实现方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。