自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吴蕴强的博客

每天一小步 github:https://github.com/wuyunqiang 转载请标明出处

  • 博客(151)
  • 问答 (1)
  • 收藏
  • 关注

原创 react native modal android实现全屏

react native 原生modal默认不能覆盖Android的statusbar.这对于一个强迫症患者来说真是难受。一开始尝试将statabar透明但还是不能绘制到statusbar。最后无奈之下只好参考react native的modal去自己写一个啦。 参考modal目录:node_modules/react-native/ReactAndroid/src/main/java/com/...

2018-02-13 19:03:33 6430

原创 codepush4之linux下配置自己服务器

codepush热更新 codepush2之配置自己的服务器 codepush3之Android原生引用集成codepush通过ssh方式远程连接服务器 ssh 用户名@ip 例如: ssh [email protected] 用户名:root 密码:123456服务器配置1: 通过nvm安装node 安装nvm 参考:https://github.

2018-02-01 11:33:06 903 1

原创 react-native封装原生下拉刷新组件

之前改进过一个react-native-pull组件解决了iOS上刷新头部出现空白问题,并且将listview改成了flatlist。 github如下: react-native-pullview这是纯js写的Android&&iOS都可以使用。在iOS上面性能还是可以的,但是在Android上滑动时虽然也可以使用但是总是感觉有点卡顿,不是很如意。 因为rn在Android上滑动事件就不是

2018-01-22 18:37:39 3855 1

原创 一张图搞定js原型链

一张图搞定js原型链1: 构造函数才有prototype2: 对象会有__proto__ 指向其原型3: 原型的constructor指向其构造函数4: 原型的终点是null终点在在于理解prototype, proto, constructor的指向

2021-03-07 21:26:15 247

原创 js对象

对象属性一属性类型:1:数据属性 [[configurable]]:表示能否delete删除属性,默认为true [[enumerable]]:能否通过in迭代访问 [[writable]]:能否修改属性值 [[value]]:包含这个属性的数据值,读取和访问时都说该值,默认undefined。 2:访问器属性 [[get]]:读取属性时调用,默认值undefined。 ...

2018-07-28 17:24:06 399

原创 js函数总结

一声明: 函数声明,存在声明提升 函数表达式二内部对象: 每个函数都有this,argments两个对象。 apply call bind 内部方法 参数传递是值传递三执行环境: 1:作用域 =>保存当前和父环境活动对象的指针数组 2:活动对象=>argments,声明的变量 3:this=>动态改变四闭包: 访问函数内部私有变量 延迟变量声明周期...

2018-07-21 17:33:22 350 1

原创 rn webview问题

1:Error loading page Domain: WebKitErrorDomain Error Code: 101 The URL can’t be shown参考:https://github.com/wuyunqiang/ReactNativeUtil/issues/481:webview添加header问题header中是以key:value的形式存在的并且,ke...

2018-05-25 18:38:50 2406

原创 react native webview与H5通信

之前写过一篇封装原生webview的文章,https://blog.csdn.net/u014041033/article/details/78625859 但是那只是android端的,不能应用iOS端,随着rn的发展,rn提供的webview也可以满足我们的开发需求,而且android&&ios 都可以统一处理,所以还是建议大家使用原生提供的组件,这里做简单的rn webvi

2018-05-25 18:28:26 2957

原创 RSA加解密问题

在做项目中为了安全考虑会对数据进行加密,这里使用了RSA进行加密。 总结如下: 特点:公钥加密私钥解密;私钥签名公钥认证;公钥就是通过私钥生成的。 优点:非对称加密,安全性高; 缺点:加解密效率低,耗费性能因此不适合对大量数据进行加密。 问题: 一:长度问题 rsa根据私钥长度的不同对加密解密内容的限制也不一样,一般来说加密的内容长队=私钥长队/8,但是这里还有一个问题那就是对齐方式...

2018-04-30 19:42:56 1067

原创 RN中的this机制

一 :四种绑定规则优先级由高到低顺序 1:new 绑定var o = { m: function(){ return this; }}var obj = new o.m();//obj为新产生的对象console.log(obj,obj === o);//{} falseconsole.log(obj.constructor === o.m);...

2018-04-21 17:27:04 1304

原创 深入理解ES6之模块

深入理解ES6之var,let,const区别 深入理解ES6之函数 深入理解ES6之对象 深入理解ES6之类 深入理解ES6之解构 深入理解ES6之Promise与异步编程一:模块背景:JS”共享一切”的代码加载方式是该语言混乱且容易出错的原因之一,这种方式导致了诸多问题,例如命名冲突,安全问题等。ES6模块化就是要解决作用域问题,让JS变的更有条理。 模块的特点 1:模块...

2018-03-13 14:12:10 2026

原创 深入理解ES6之Promise与异步编程

深入理解ES6之var,let,const区别 深入理解ES6之函数 深入理解ES6之对象 深入理解ES6之类 深入理解ES6之解构 深入理解ES6之模块一:异步编程背景:JS引擎建立在单线程事件循环的概念上,js引擎同一时间只能执行一段代码,每当一段代码准备被执行,他就会被添加到作业队列。当JS引擎结束当前代码的执行后,事件循环就会执行队列的下一个作业。作业会从队列的第一个开始...

2018-03-13 14:03:14 545

原创 深入理解ES6之解构

深入理解ES6之var,let,const区别 深入理解ES6之函数 深入理解ES6之对象 深入理解ES6之类 深入理解ES6之Promise与异步编程 深入理解ES6之模块一:为什么用解构:在之前提取数据对象需要逐个赋值,可能会为了一个小数据挖掘整个机构,ES6给数组和对象添加了解构可以方便提取数据。二:对象解构:1:let node = { typ...

2018-03-12 13:57:34 5733

原创 深入理解ES6之类

深入理解ES6之var,let,const区别 深入理解ES6之函数 深入理解ES6之对象 深入理解ES6之解构 深入理解ES6之Promise与异步编程 深入理解ES6之模块一:类与自定义类型的区别:1:类生命不会被提升,这与函数定义不同。类声明的行为与let相似,因此在程序的执行到达声明之前,类会存在暂时性死区。 2:类声明的所有代码会自动运行在严格模式下 3:类的所有方...

2018-03-09 17:25:03 836

原创 深入理解ES6之对象

深入理解ES6之var,let,const区别 深入理解ES6之函数 深入理解ES6之类 深入理解ES6之解构 深入理解ES6之Promise与异步编程 深入理解ES6之模块一:对象的属性1:属性速记法://之前function createPerson(name,age){ return { name:name, age:age }}v...

2018-03-08 14:20:23 527

原创 深入理解ES6之函数

深入理解ES6之var,let,const区别 深入理解ES6之对象 深入理解ES6之类 深入理解ES6之解构 深入理解ES6之Promise与异步编程 深入理解ES6之模块一:关于函数的参数:可以接受任意数量的参数而无视函数声明的参数数量是js函数的独特之处。1:参数默认值ES6之前做法: function makeRequest(url,timeout,...

2018-03-07 17:34:28 1862

原创 深入理解ES6之var,let,const区别

深入理解ES6之函数 深入理解ES6之对象 深入理解ES6之类 深入理解ES6之解构 深入理解ES6之Promise与异步编程 深入理解ES6之模块第一:块级范围内var变量提升(不存在以下问题) let块级作用域,指定块的外部无法访问 const常量声明块级作用域,不会发生变量提升,声明后不可以改变因此需要初始化.(对于一个对象而言不可改变是指引用不可变,内容可以改变相当于...

2018-03-07 14:18:30 2268

原创 TabNavigator自定义Tab(2)

TabNavigator自定义Tab(1) 实现如下效果 其实这种效果很简单只要实现自定义tab然后将需要凸起的Tab单独拿出来设置成绝对布局就可以实现了。 关键代码: render(){ const {navigation,jumpToIndex} = this.props; const {routes,} = navigation.state

2018-01-12 17:50:00 1222

原创 codepush3之Android原生引用集成codepush

codepush热更新 codepush2之配置自己的服务器 codepush4之linux下配置自己服务器 其实原生集成rn在集成codepush与新建rn项目集成codepush最主要的区别是node_modules的路径发生变化了另外应用也不再是一个reactApplication了。大多数错误都是这两点引起的。 这是我的文件目录 1:项目路径下命令行输入yarn add re

2018-01-08 16:26:52 2100 1

原创 react-native 0.46升级0.51报错:Bundling `index.android.js` [development, non-minified] 0.0% (0/1), failed

如图: 解决: 1:android /app/build.gradle 添加如下:project.ext.react = [ entryFile: "index.js"]2:在MainApplication里面 @Override protected String getJSMainModuleName() { return "i

2018-01-04 14:49:17 1969

原创 Android在原生集成react native

环境: Android studio3.0 react native 0.50 Mac 10.12.6 (16G29)react native使用方式有两种: 1:直接新建一个react native项目 2:在已经存在的原生项目中集成react native项目。 今天主要讲解第二种方式的步骤。 1:新建Android原生项目 2:在原生项目的根目录下执行npm init 输入pa

2017-12-01 14:44:04 3422 2

原创 rn+redux+immutable+saga+react-navigation技术栈

1:安装组件package如下:"dependencies": { "immutable": "^3.8.2", "react": "16.0.0-beta.5", "react-native": "0.49.3", "react-navigation": "^1.0.0-beta.15", "react-redux":

2017-11-28 15:43:02 977

原创 To run dex in process, the Gradle daemon needs a larger heap. It currently has 1024 MB. For faster b

andorid studio 运行正常,通过命令行react-native run-android 报错。 如图: 解决: 1:app下build.gradle修改 defaultConfig { minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "

2017-11-27 10:57:34 1126

原创 rn封装原生jsbridge与H5交互

一:首先按照https://github.com/lzyzsd/JsBridge配置jsbridge 二:封装jsbridge给rn调用 1:新建WebViewManager继承自SimpleViewManager 2:实现createViewInstance方法 返回一个webview实例 @Override protected BridgeWebView createViewI

2017-11-24 16:24:07 2806

原创 RN iOS网络是否连接bug

react native 是有判断网路是否连接这个接口的NetInfo。 可以通过这样来判断:isConnected=true 有网络,反之没有网络。 data = await NetInfo.isConnected.fetch().then((isConnected) => { console.log('isConnected',isConnected);

2017-11-13 14:00:47 1001

原创 codepush2之配置自己的服务器

codepush热更新 codepush3之Android原生引用集成codepush codepush4之linux下配置自己服务器codepush会去访问微软的服务器,在国内网速特别慢基本上和不能用没有什么区别。今天我们就来配置自己的服务器。 好处 1:网络不受限制 2:自是服务器端变化了codepush的命令依旧可以使用功能上不受影响。配置步骤这里我们以本地服务器为例。

2017-11-09 11:13:59 2369

原创 pullview使用flatlist下拉上拉

站在诸多巨人的肩上,写的这个库。自己用着感觉还行,大家可以试试。 scrollview&&FlatList android&&ios 1:flatlist与scrollview下拉刷新上拉加载更多 2:没有网络没有数据状态页面。 3:解决react-native-pull中iOS下拉头部出现空白问题。GitHub:https://github.com/wuyunqiang/react

2017-11-06 16:49:51 661

原创 android加载gif图片

版本信息:OS: macOS Sierra 10.12.6Node: 8.3.0Yarn: 0.27.5npm: 5.5.1Xcode: Xcode9.01 Build version 9a1004Android Studio: 2.3.3 react-native: 0.49.3react: 16.0.0-beta.5rn上面android默认不支持gif图片加载需要在g

2017-11-06 16:40:32 263

原创 TabNavigator自定义Tab

react navigation三种导航,其中TabNavigation和StackNavigation用的比较多。今天要说的就是关于TabNavigation的样式问题,可能很多人都遇到过为什么明明设置了style和tabStyle还是会有问题。 我想可能会有很多人这样写:const tabbaroption = { activeTintColor: Color.f3474b,

2017-10-19 14:59:19 3433

原创 scrollView中按钮如何居下?

需求:现在有这样一种情况是在开发中经常遇到的,外层是一个scrollview组件,组件内部有很多组件高度不固定,最后是一个按钮,在不满一个屏幕时按钮位居底部,当超过一屏幕时按钮位于组件的末尾,可以随着scrollview滚动。效果图:![scrollbtn.gif](http://upload-images.jianshu.io/upload_images/3353755-3df39c

2017-09-13 19:10:29 630

原创 react navigation返回到任意页面(不集成redux)

react navigation默认是使用key作为goback的参数进行返回的,这个key是一个动态生成的,而不是我们定义的routeName。 网上也有很多方法有的说更改源码,有的说是集成redux。更改源码的方式我也尝试过但是如果开启滑动返回属性,很容易就卡死。集成redux是一个不错的方式,但对于新手来说redux的模式还是太过于复杂,况且redux的强大在于数据流的控制,仅仅一个因为一...

2017-09-07 13:44:16 10656 3

原创 自定义react navigation跳转动画

自定义react navigation跳转动画,实现上下左右跳转页面。const StackOptions = ({navigation}) => { const gesturesEnabled = true; const headerStyle= { height:Platform.OS==='ios'?SCALE(100):SCALE(60),

2017-08-29 16:31:00 2301

原创 react native动画

·一:动画组件: Animated.Image Animated.Text Animated.View二:动画函数: 1:Animated.timing() – 推动一个值按照一个过渡曲线而随时间变化。Easing 模块定义了很多缓冲曲线函数。 2:Animated.decay() – 推动一个值以一个初始的速度和一个衰减系数逐渐变为0。 3:Animated.spring() –

2017-08-24 16:01:56 1267

原创 scrollView 宽高无效

Environmentreact-native -v:0.46.4node -v:v8.3.0npm -v:5.3.0yarn --version:0.27.5Target Platform: android && iosDevelopment Operating System: mac10.12.5Build tools:webstormSteps to Reproducecode

2017-08-23 16:29:00 1049

原创 React.createElement: type is invalid -- expected a string (for built-in components) or a class/funct

版本信息: “react”: “16.0.0-alpha.12”, “react-native”: “0.46.4”, “react-navigation”: “^1.0.0-beta.11” node:8.0.0 npm:5.0.1这是版本问题最后无奈只能降低版本。 如果是已经在项目中用了react-navigation那么升级后是没有这个问题的。 如果是新建项目然后使用react-

2017-07-21 14:08:11 9911

原创 react-native-elements/ListItem bug

在使用listitem的时候发现在Android上右图片默认显示不出来,在iOS运行直接报错 Unrecognized font family ‘Material Icons’。 修复: 打开ListItem源码发现这个 所以解决这个很简单只要设置hidechevron=true就可以了。 修改后效果: 版本信息: “react”: “16.0.0-alpha.6”,

2017-07-17 15:00:49 3597

原创 js数组API总结

callback中参数永远是(当前值value,下标index,原数组arr)遍历:1:foreach 对数组的每个元素执行一次提供的函数用法:array.forEach(callback(currentValue, index, array){    //do something}, this)array.forEach(callback[, thisArg])

2017-07-13 15:59:43 2560 1

原创 setState详解

首先如果直接在setState后面获取state的值是获取不到的 如图: 第一次,第二次打印都是初始值。通过异步方法调用可以获得值。 那么在实际的项目中我们应该怎么写呢? 因为setState是可以接受两个参数的,一个state,一个回调函数。因此我们可以在回调函数里面获取值。 所以我们可以得出结论: 1:setState异步调用 2:批量处理 并不是调用一次就会更新一次rende

2017-07-10 17:42:56 5309

原创 react-native-elements/SwipeDeck android bug

安装react-native-elements库文件 详见: https://github.com/react-native-training/react-native-elements/blob/master/default_installation.md SwipeDeck ios 运行结果: Android 运行结果: 修改代码: SwipeDeck/renderCards如

2017-07-10 13:40:50 942

原创 react native组件通信方式

1:父组件给子组件通过props2:   通过回调父组件传递一个函数 子组件将执行结果回传给父组件3:通过ref方式引用组件调用方法,传递参数。4:通过广播事件监听DeviceEventEmitter 注册监听事件5:如果使用redux 通过getstate获取全局唯一状态树异步与原生通信: react与native异步交互的几种方式

2017-06-30 11:09:29 862

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除