当前位置: 首页 > news >正文

受欢迎的锦州网站建设wordpress 加密功能

受欢迎的锦州网站建设,wordpress 加密功能,搜索郑州网站,如室室内设计官网1、React简介 1.1、React概述 React 是用于构建用户界面的 javascript 库#xff0c;具有声明式、组件化等特点。 1.2、MVC和MVVM模式 MVC#xff08;Model-View-Controller#xff0c;模型-视图-控制器#xff09;#xff0c;Model指模型数据#xff0c;View是显示的…1、React简介 1.1、React概述 React 是用于构建用户界面的 javascript 库具有声明式、组件化等特点。 1.2、MVC和MVVM模式 MVCModel-View-Controller模型-视图-控制器Model指模型数据View是显示的界面Controller是控制层控制层用于接收到用户的操作然后进行一系列的处理后发送给Model接收到Model的响应后再交给View视图层。 MVVMModel-View-ViewModel模型-视图-视图模型Model指模型数据View是指浏览器渲染的网页ViewMode是Model和View的桥梁称为视图模型由ViewModel完成数据的绑定。 在Vue中JS对象就是ModelHTML标签就是ViewVue实例就是ViewModel。 2、React环境搭建 2.1、使用webpack搭建React开发环境 参考博客https://blog.csdn.net/p445098355/article/details/104517094 2.2、使用create-react-app脚手架 安装脚手架 cnpm i -g create-react-app创建项目 create-react-app 项目名称3、JSX语法 jsx 全程是 javascript XML 是一个 JavaScript 的语法扩展。jsx 要按照 xml 的编写规范即 最外层只能有一个根标记每个标记都必须要有闭合标签 在 jsx 中可以使用 {...} 来编写 javascript 表达式。 4、React组件 4.1、函数组件 使用构造函数声明的组件被称为函数组件因其内部没有 state 属性所以又被称为无状态组件代码如下 import React from react; import ReactDOM from react-dom;const App () {return (div函数组件/div) }ReactDOM.render(App /,document.getElementById(root));可以通过 props 属性获取到组件标签上定义的属性值例如 import React from react; import ReactDOM from react-dom;const App (props) {return (div函数组件props值 {props.name}/div) }ReactDOM.render(App nameTom /,document.getElementById(root));4.2、类组件 使用 class 关键字创建的组件称为类组件因其内部可以有 state 属性又被称为有状态组件代码如下 import React from react; import ReactDOM from react-dom;class App extends React.Component {render() {return (div类组件/div)} }ReactDOM.render(App nameTom /,document.getElementById(root));在使用类组件的标签时标签上定义的属性都会通过类组件的构造函数传递到组件内部然后在组件内容使用 this.props 获取到外界的传值代码如下 import React from react; import ReactDOM from react-dom;class App extends React.Component {//构造函数constructor(props){super(props)console.log(props)}render() {return (div类组件props值 {this.props.name}/div)} }ReactDOM.render(App nameTom /,document.getElementById(root));每个类组件都有自己独享的内部状态即 state 属性。如果要操作 state 必须要使用 setState() 函数该函数是一个异步函数对 state 修改后会再次调用 render() 函数重新渲染页面。 class App extends React.Component {//构造函数constructor(props){super(props)this.state {value: hello}}//按钮点击事件接收到视图层的指令操作数据模型最后在把操作结果返回给视图handleClick(str){this.setState({value: str})}render() {return (div{this.state.value}button onClick{this.handleClick.bind(this,world)}修改state/button/div)} }ReactDOM.render(App nameTom /,document.getElementById(root));4.3、函数组件和类组件的区别 在说明函数组件和类组件的区别时要看3个方面 组件内是否有 this 组件内是否有 state ;组件内是否有生命周期钩子 只要符合上面的3点就是一个有状态组件即类组件。 4.4、组件通信 父组件向子组件传值 import React from react; import ReactDOM from react-dom; // import App from ./App;class App extends React.Component {render(){return (div{/* 自定义组件可以在组件上自定义属性 */}Button text百度一下 subText点击提交数据 textColorred//div)} }//无状态组件只显示UI效果没有太多的业务逻辑 const Button (props) {return (button title{props.subText} style{{color: props.textColor}}{props.text}/button) }ReactDOM.render(App nameTom /,document.getElementById(root));子组件向父组件传值 import React from react; import ReactDOM from react-dom; // import App from ./App;class App extends React.Component {//自定义组件的点击事件text为默认参数即封装Button组件时传入的一个参数handleClick(text){console.log(自定义组件被点击了。。。。,text)}render(){return (div{/* 自定义组件可以在组件上自定义属性也可以自定义事件 */}Button text百度一下 subText点击提交数据 textColorred onClick{this.handleClick.bind(this)}//div)} }//无状态组件只显示UI效果没有太多的业务逻辑 const Button (props) {return (button title{props.subText} style{{color: props.textColor}} onClick{(){props.onClick(props.text)}}{props.text}/button) }ReactDOM.render(App nameTom /,document.getElementById(root));4.5、封装自定义组件 自定义按钮组件 import React, { Component } from reactexport default class Button extends Component {//HTML的button标签原生点击事件函数handleClick(){this.props.onClick()}render() {return (divbutton style{{color: this.props.fontColor}} onClick{this.handleClick.bind(this)}{this.props.text}/button/div)} }自定义输入框组件 import React, { Component } from reactexport default class Input extends Component {//input标签原生键盘事件的函数handlePress(e){if(e.charCode 13){this.props.onEnter(e.target.value)}}render() {return (divinput onKeyPress{this.handlePress.bind(this)}/input/div)} }在父组件中使用自定义组件 import React, { Component } from react import Button from ./Button import Input from ./Inputexport default class App extends Component {handleClick(){console.log(click....)}//Input组件上的回车事件handleEnter(val){console.log(enter...,val)}render() {return (divInput onEnter{this.handleEnter.bind(this)}/InputButton text提交 fontColorred onClick{this.handleClick.bind(this)}/Button/div)} }5、UI组件库 5.1、使用Element-React组件库 需要安装 # 安装element-react cnpm i element-react --save# 安装elementui的主题 cnpm install element-theme-default --save# 按钮react-hot-loader cnpm install react-hot-loadernext -DButton组件使用案例 import React, { Component } from react import {Button } from element-react import element-theme-defaultexport default class App extends Component {constructor(){super()this.state {isLoading: false,btnText: 点击下载}}handleLoading (){this.setState({btnText: 下载中,isLoading: true},(){//模拟下载过程setTimeout((){this.setState({btnText: 下载完成,isLoading: false})},2000)})}render() {return (divButton typeinfo loading{this.state.isLoading} onClick{this.handleLoading}{this.state.btnText}/ButtonButton上传i classNameel-icon-upload2/i/Button/div)} }Menu和Table组件的使用案例 import React, { Component } from react import {Button,Menu,Table } from element-react import element-theme-defaultexport default class App extends Component {constructor(){super()this.state {column: [{label: 姓名,prop: name},{label: 年龄,prop: age},{label: 电话,prop: phone},{label: 操作,render: (obj,e,index){ //渲染函数的默认参数为当前点击的数据对象return (React.FragmentButton typeinfo sizesmall修改/Button nbsp;nbsp;Button typedanger sizesmall删除/Button/React.Fragment)}}],data: [{name: 张三,age: 20,phone: 13099998888},{name: 李四,age: 21,phone: 13099998888},{name: 王五,age: 22,phone: 13099998888}]}}render() {return (divMenu modehorizontal themedark defaultActive1 style{{marginBottom: 20px}}Menu.Item index1首页/Menu.ItemMenu.SubMenu index2 title新闻Menu.Item index2-1国内新闻/Menu.ItemMenu.Item index2-2国际新闻/Menu.ItemMenu.Item index2-3社会新闻/Menu.Item/Menu.SubMenu/MenuTable style{{width: 100%}} columns{this.state.column} data{this.state.data}/Table/div)} } 5.2、Ant Design UI库 安装 cnpm i antd --save引入组件 # 按需引入 import { DatePicker } from antd;# 引入样式 import antd/dist/antd.css; // or antd/dist/antd.less6、路由 BrowserRouter BrowserRouter 使用 HTML5 提供的 history API (pushState, replaceState 和 popstate 事件) 来保持 UI 和 URL 的同步。一个应用程序中只需要有一个 BrowserRouter 即可。 在 index.js 中使用 import React from react; import ReactDOM from react-dom; import App from ./App; import {BrowserRouter} from react-router-domReactDOM.render(BrowserRouterApp //BrowserRouter,document.getElementById(root));HashRouter HashRouter 使用 URL 的 hash 部分即 window.location.hash来保持 UI 和 URL 的同步。与 BrowserRouter 用法类似但是 HashRouter 在页面中显示的路由地址里有 # 符号。 import React from react; import ReactDOM from react-dom; import App from ./App; import {HashRouter} from react-router-domReactDOM.render(HashRouterApp //HashRouter,document.getElementById(root));Link 为你的应用提供声明式的、可访问的导航链接。 import { Link } from react-router-dom;Link to/aboutAbout/Link配合 Route 使用。 Route Route 可能是 React Router 中最重要的组件它可以帮助你理解和学习如何更好的使用 React Router。它最基本的职责是在其 path 属性与某个 location 匹配时呈现一些 UI。 import { BrowserRouter as Router, Route } from react-router-dom;RouterdivRoute exact path/ component{Home} /Route path/news component{News} //div /RouterLink、Route配合使用案例 import React, { Component } from react import {Menu} from element-react import element-theme-default import {Link,Route,Switch} from react-router-domexport default class App extends Component {render() {return (divMenu modehorizontal themedark defaultActive1 style{{marginBottom: 20px}}Menu.Item index1首页/Menu.ItemMenu.SubMenu index2 title新闻Menu.Item index2-1Link to/guonei国内新闻/Link/Menu.ItemMenu.Item index2-2Link to/guoji国际新闻/Link/Menu.ItemMenu.Item index2-3Link to/shehui社会新闻/Link/Menu.Item/Menu.SubMenu/MenuSwitchRoute path/guonei component{GuoneiNews}/RouteRoute path/guoji component{GuojiNews}/RouteRoute path/shehui component{ShehuiNews}/Route/Switch/div)} }参考博客https://www.jianshu.com/p/97e4af32811a 7、Redux状态管理 Store 用于连接 action 和 reducer 重要对象一个redux应用程序中只能有一个 store 对象。 import { createStore } from redux import todoApp from ./reducers let store createStore(todoApp)Reducer Reducers 指定了应用状态的变化如何响应 actions 并发送到 store 的记住 actions 只是描述了有事情发生了这一事实并没有描述应用如何更新 state。 Action Action 是把数据从应用译者注这里之所以不叫 view 是因为这些数据有可能是服务器响应用户输入或其它非 view 的数据 传到 store 的有效载荷。它是 store 数据的唯一来源。一般来说你会通过 store.dispatch() 将 action 传到 store。 const action {type: ADD_TODO,text: Build my first Redux app }核心API 在使用redux时需要掌握的核心API store.getState() 用于获取最新的store对象store.subscrbe() 用于监听store中的数据变化store.dispatch() 用于向reducer派发action对象
http://www.sadfv.cn/news/14488/

相关文章:

  • 广州响应式网站建设视频图站主题 wordpress
  • 我做的网站怎么是危险网站中国市场调查网
  • 营销型网站的域名金沙洲网站建设工作室
  • 网站app建设如何做wordpress文章页
  • 常州淄博网站优化厦门的网站建设公司哪家好
  • 网站打开慢什么原因市场监督管理局简称
  • 做外贸需要自己建网站吗怎么做微信网页制作
  • 重庆网站建设论坛合肥专门做网站
  • 怎样做支付网站天津网站建设吐鲁番地区
  • 大兴安岭网站推广wordpress付费阅读全文
  • 企业网站建设费用记入什么科目网站建设论文html格式
  • 找论文的免费网站ip加端口可以做网站吗
  • 韶关哪里做网站seo sem是什么
  • 网站建设常用单词php网站开发设计要求
  • 做英文网站可以申请补贴吗榆林国贸网站建设
  • 企业网站设计素材重庆宣传片制作
  • 网站网站开发需要多少钱东莞网站建设报价
  • 拍宣传片找什么公司石家庄谷歌seo公司
  • 洛阳建设企业网站公司北京网站制作南昌
  • 音乐网站的设计与开发在线logo制作
  • 怎样用手机建个人网站每个网站都有服务器吗
  • 莉莉卡是哪个网站做的做网站笔记本
  • 提供专业网站小程序开发在线制作图标
  • p2p视频网站建设深圳网站建设制作公司
  • 网站 域名seo优化顾问
  • 青浦网站建设 迎鑫中国建设银行 网站登录
  • 为什么不推荐免费建站wordpress 静态地址
  • 个人网站怎么做淘宝客建设工程合同性质上属于实践合同
  • 二级域名查询网站ps做网页
  • 如何建网站吗?泉州网站快速排名提升