2025
02.13

在管理后台升级WordPress主程序或者插件时,遇到以上问题。解决办法:到WordPress主目录下,进入wp-includes子目录,找到class-http.php文件(如果WordPress版本比较新,则是class-wp-http.php文件),找到sslverify变量,将其默认值修改为false。这样就关闭了ssl验证。再进入到管理后台就可以正常升级了。正常情况下,WordPress主程序升级后,这个变量又会被重置成true。

2018
08.10

例如,我们要定义一个组件CarView。数据用一个类Car来表示,Car有以下的属性:id, name, color。

class Car {

constructor(id, name, color) {

this.id = id;

this.name = name;

this.color = color;

}

}

我们在CarView的上级组件的state里有一个Car类型的对象car,想把car的属性的值传给CarView组件去渲染界面,这时候可以采用如下的传递参数的方法:

<CarView {…this.state.car} />

在CarView定义里可以使用this.props.id, this.props.name, this.props.color来获得传递进来的参数。如:

在CarView的render方法里:

<Text>{this.props.name}</Text>,可以渲染出car的name。

以上的写法相当于<CarView id={this.state.car.id} name={this.state.car.name}  color={this.state.car.color} />。

可见这种写法使代码得以简化。

2018
08.10

import React, { Component } from “react”;

import语句里有时候加大括号,有时候不加。区别如下:

1. 如果是default export,则import的时候不加大括号。

2. 如果是named export,则import的时候必须加大括号。

例如:导出时是export default App,则导入时就是import App from ‘/path/App’;

导出时没有使用default关键字,如export const A=25  或者 export {MyComponent}, 则导入时就是import {A} from ‘/path/App’,这时就要加大括号。

一个组件只能有一个default export,和任意个named export。

 

2018
08.09

1. (1)在android\app\src\main下建立一个assets文件夹

(2)react-native bundle –platform android –dev false –entry-file index.js –bundle-output android/app/src/main/assets/index.android.bundle –assets-dest android/app/src/main/res
(3)再次执行react-native run-android
2. 如果执行上面时出现关于accessibilityInfo的错误,则删除工程,按照下面的顺序执行:
react-native init AwesomeProject
cd AwesomeProject
react-native run-android
npm uninstall react-native
npm install --save react-native@0.55.4
react-native run-android
npm install --save babel-core@latest babel-loader@latest
npm uninstall --save babel-preset-react-native
npm install --save babel-preset-react-native@4.0.0
react-native run-android
然后再重新执行第1步。

2018
01.17

安卓系统推送的问题

安卓系统由于防火墙的原因,GCM在国内不能使用。目前国内的做法是在app里集成第三方提供的推送sdk。两者的原理基本相同,就是在手机上维持一个长连接到服务器,这样的话服务器就能主动向手机发消息,而不是被动的接收手机发送的请求后再向手机端返回响应。

但是由于国内手机厂商不同的定制rom,会杀死后台进程,上面提到的长连接就不能保持,从而导致推送消息不能送达手机。目前,有以下几种方法能解决或改善后台进程被杀的问题。

(1)用户量很大的app,比如微信,qq,它们会进入到手机厂商的白名单中。白名单中的app转到后台以后不会被杀死。如果你的app足够牛b有影响力,手机厂商可能会将其放入白名单。

(2)qq表面上转移到后台,但实际上并不是如此,它是在前台留有1个像素。(这条未经本人亲自验证)

(3)很多第三方推送sdk使用了共享连接的方式,即集成了该sdk的多个app使用同1个长连接接收推送消息。如果其中1个app被打开,则会建立1个长连接,其他的app也会使用这个长连接。所以,我们可以使用用户量高并且被很多知名的app使用的sdk,如果这些知名app被打开,那么我们的推送也会被送达。比如,据说王者荣耀就使用了腾讯公司的信鸽推送,我们可以考虑也使用这个sdk。


Hit Counter by http://yizhantech.com/