组件化开发的时候,参数传递是非常关键的环节 哪些参数放在组件内部管理,哪些参数由父组件传入,哪些状态需要反馈给父组件,都需要在设计组件的时候想清楚 但实现这些交互的基础,是明白组件之间参数传递的方式,和各自的优缺点 一.父组件传参到子组件 和 Vue 一样,React 中从父组件到子组件的传参也是通过 props 不过在 Vue 项目中,需要在先组件里定义将要接收的 props,而 React 可以直接获取 而且 props 不光可以接收 Number.String 等基本类型,还可以接收 Fu…
如果要处理某个元素的 click 事件,原生 js 可以直接为该元素添加一个 onclick 函数 Vue 封装了 v-on 指令,可以简化为 @click 并添加相应的函数 React 的开发思想是尽量保留 js 的特性,所以事件处理也是用 onClick,只不过换成了驼峰命名 但在实际使用的时候,还需要绑定 this,由此而产生了很多优化方案 一.传统语法 原生 js 的事件命名是纯小写 <button onclick="handleClick()">Click Me&…
基于 Vue.js 开发的时候,每个 vue 文件都是一个单独的组件,可以包含 HTML,JS,CSS 而 React 是以函数为基础,每个 function 就是一个组件.虽然 JSX 让 HTML 的写法更加友好,但 CSS 还是需要另外引入 Vue 还给开发者提供了很多指令,而 React 中并没有,所以这片文章会介绍两者之间的常用语法差异 一.私有化 CSS 在 vue 文件中,可以直接通过 <style> 标签来写 CSS 样式 如果希望这些 CSS 仅对当前的 vue 文件生效,只…
虽然 Vue 在国内一家独大,但在全球范围内,React 依然是最流行的前端框架 最近和一些朋友聊天,发现很多项目都选择了 React 技术栈,而且公司的新项目也决定使用 React 我一直以来都是走的 Vue 技术栈,虽然接触过 RN,但只停留在能用阶段 既然要正式做 React 的项目,那还是系统的学习一下 React 吧 一.安装 Node 环境 如果仅仅是安装 Node.js,其实并没有什么难度,直接上node.js 官网下载安装包即可 不过 node.js 的更新速度太快,node.j…
react的事件处理会丢失this,所以需要绑定,为什么会丢失this? 首先来看摘自官方的一句话: You have to be careful about the meaning of this in JSX callbacks. In JavaScript, class methods are not bound by default. 这句话大概意思就是,你要小心jax回调函数里面的this,class方法默认是不会绑定它的 让我十分疑惑,在我的知识范围理解中,class是es6里面新增…
数据持久化就是指应用程序将某些数据存储在手机存储空间中. 借助native存储 这种方式不言而喻,就是把内容传递给native层,通过原生API存储,详见从零学React Native之05混合开发 AsyncStorage API RN框架为开发者提供了 AsyncStorage API,开发者可以利用它将任意"字符串键值对"保存到存储空间中. 它是简单的,异步的.用它可以取代Android的sharedperference和ios的NSUserDefault. AsyncStora…
之前我们介绍了RN相关的知识: 是时候了解React Native了 从零学React Native之01创建第一个程序 从零学React Native之02状态机 本篇主要介绍页面导航 上一篇文章给大家介绍了简单界面的搭建, 这一篇我们需要两个界面, 一个是注册界面,一个是注册信息界面. 当然我们还需要一个组件去控制两个界面的切换. 每个界面其实就一个组件 , 可以通过下面的代码抽取相关的模块 module.exports=RegisterLeaf; 注册界面的代码: 主要代码 import…
本篇文章首发于简书 欢迎关注 之前我们介绍了RN相关的知识: 是时候了解React Native了 从零学React Native之01创建第一个程序 本篇文章主要介绍下下面的知识: 1.简单界面的搭建 2.状态机添加 3.渲染框架简介 4.语法简化 搭建界面 之前我们介绍了如何创建一个应用,现在我们来开发一个简单的注册界面.注释都写在代码里了, 如下: 进入项目目录下,修改下index.android.js(开发IOS程序修改index.ios.js) import React, { Comp…
在上一篇博文中,有介绍到用换行符分割消息的方法.但是这种方法有个小问题,如果消息中本身就包含换行符,那将会将这条消息分割成两条,结果就不对了. 本文介绍另外一种消息分割方式,即上一篇博文中讲的第2条:use a fixed length header that indicates the length of the body,用一个固定字节数的Header前缀来指定Body的字节数,以此来分割消息. 上面图中Header固定为4字节,Header中保存的是一个4字节(32位)的整数,例如12即为…
原文:从头开始学JavaScript (三)--数据类型 一.分类 基本数据类型:undefined.null.string.Boolean.number 复杂数据类型:object object的属性以无序的名称和值对的形式 (name : value) 来定义 二.详解 1.undefined:undefined类型只有一个值:undefined,在使用var对变量进行声明但未初始化时,这个变量的值就是undefined. 包含undefined值的变量与尚未定义的变量是不一样的,以下这个例…