npm : 是Node的一个资源管理工具,不要问‘为什么我没有这个东西’之类的问题。下载安装,然后配置环境变量就好了。
===========================================
MD5加密
下载、导包。
npm install node-forge //在项目目录下 (下载)
//ES5 导入写法
var forge = require('node-forge');
//ES6 导入写法
//let是es6的东西,es5写 var 两者的区别可以自己去查下
===========================================
删除依赖包
https://www.jianshu.com/p/0b94b3a7b95f
===========================================
组件Props属性检查
其实我觉得这个不是很重要,可以忽略的
在一些时候,组件对于传入的值得进行检验,我在官方和书上看到的是这样的。
这时候你会发现报错 undefined is no an object ... default.ReactType.string ,怎么办呢?
在自己项目根目录运行 npm install prop-types ,
........
然后再运行项目就行了。
======================================================
Fetch请求服务器拿不到body里的参数问题。
按照官方文档,fetch请求的时候,body是这样写的。
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
firstParam: 'yourValue',
secondParam: 'yourOtherValue',
})
然而我昨天一天都在弄这个,服务器一直拿不到我传过去的值,都是null,虽然说现在服务器接口都差不多是接受Json格式的数据了,但是还有的是别的,我公司的服务器上就是Ajax,得是下面这种的
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: 'key1=value1&key2=value2'
这里强调下headers这个鬼东西,这个和服务器那边定义的请求头有关系,如果不一致,那么那边是接收不到参数的,也就是我昨天遇到的问题,昨天弄了一上午也没弄明白,到了下午我就问服务端的人然后一个个试才试出来的,但是又有一个新的问题,body的主体 用‘key1=value1&key2=value2...’这种格式让我很反感,我不喜欢这种,我喜欢‘application/json’格式的,后面直接JSON.stringify({....})一下就行了,然后找资料我发现了这个 querystring ,可以在里面写json格式的数据,然后转换一下就行了。具体如下:
在项目根目录运行 : npm install querystring
项目导入 import querystring from 'querystring';,
fetch请求的时候headers和body这样定义
就是这样的,再说一次,这个是基于服务器是接受Ajax格式的数据。具体问自己公司服务端是什么格式的。
=======================================================
RN项目禁止横竖屏切换
Android
找到RN项目的 AndroidManifest 文件
C:\workspase_test\ '项目名' \android\app\src\main\AndroidManifest.xml
但这仅仅只是android部分,如果运行在IOS上还是能横竖屏切换的,IOS的还不知道,但是有两则帖子可以看一下
IOS
https://segmentfault.com/q/1010000011144372
https://www.cnblogs.com/maoyazhi/p/5411754.html
=======================================================
关于点击事件
=======================================================
经验杂谈
**********************************************************
RN大部分都是JS代码,先对于Java的方法,JS这边的函数是没有返回值这个说法的,function a() { return 'hello' ;} 像这种函数我要知道返回值该怎么办呢, a().then(resultString); 调用a()函数,后面添加.then(resultString) 的声明来接收返回值,这个里面 .then(resultString => { // 对返回值进行操作 }) 通过=> 对返回对象进行做操或者(直接操作或者传递给下一个then或者传递给某一个函数)...
上面说的是我在本地数据操作时遇到的,存储一个值然后取出来时一直报错,不知道为啥,原来是没有用 then 去接收的问题
这个是React Native AsyncStorage本地存储工具类
http://www.php.cn/js-tutorial-383996.html
*******************************************************