Skip to content

Commit fa7ca09

Browse files
committed
update
1 parent a37c60e commit fa7ca09

12 files changed

+30
-30
lines changed

docs/docs/0.38/native-modules-android.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -293,13 +293,13 @@ componentWillMount: function() {
293293

294294
### 从`startActivityForResult`中获取结果
295295

296-
You'll need to listen to `onActivityResult` if you want to get results from an activity you started with `startActivityForResult`. To do this, the you must extend `BaseActivityEventListener` or implement `ActivityEventListener`. The former is preferred as it is more resilient to API changes. Then, you need to register the listener in the module's constructor,
296+
如果你使用`startActivityForResult`调起了一个activity并想从其中获取返回结果,那么你需要监听`onActivityResult`事件。具体的做法是继承`BaseActivityEventListener`或是实现`ActivityEventListener`。我们推荐前一种做法,因为它相对来说不太会受到API变更的影响。然后你需要在模块的构造函数中注册这一监听事件。
297297

298298
```java
299299
reactContext.addActivityEventListener(mActivityResultListener);
300300
```
301301

302-
Now you can listen to `onActivityResult` by implementing the following method:
302+
现在你可以通过重写下面的方法来实现对`onActivityResult`的监听:
303303

304304
```java
305305
@Override
@@ -308,11 +308,11 @@ public void onActivityResult(
308308
final int requestCode,
309309
final int resultCode,
310310
final Intent intent) {
311-
// Your logic here
311+
// 在这里实现你自己的逻辑
312312
}
313313
```
314314

315-
We will implement a simple image picker to demonstrate this. The image picker will expose the method `pickImage` to JavaScript, which will return the path of the image when called.
315+
下面我们写一个简单的图片选择器来实践一下。这个图片选择器会把`pickImage`方法暴露给JavaScript,而这个方法在调用时就会把图片的路径返回到JS端。
316316

317317
```java
318318
public class ImagePickerModule extends ReactContextBaseJavaModule {
@@ -389,15 +389,15 @@ public class ImagePickerModule extends ReactContextBaseJavaModule {
389389
}
390390
```
391391

392-
### Listening to LifeCycle events
392+
### 监听生命周期事件
393393

394-
Listening to the activity's LifeCycle events such as `onResume`, `onPause` etc. is very similar to how we implemented `ActivityEventListener`. The module must implement `LifecycleEventListener`. Then, you need to register a listener in the module's constructor,
394+
监听activity的生命周期事件(比如`onResume`, `onPause`等等)和我们在前面实现 `ActivityEventListener`的做法类似。模块必须实现`LifecycleEventListener`,然后需要在构造函数中注册一个监听函数:
395395

396396
```java
397397
reactContext.addLifecycleEventListener(this);
398398
```
399399

400-
Now you can listen to the activity's LifeCycle events by implementing the following methods:
400+
现在你可以通过实现下列方法来监听activity的生命周期事件了:
401401

402402
```java
403403
@Override

docs/docs/0.38/native-modules-ios.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,10 +241,10 @@ RCT_EXPORT_METHOD(doSomethingExpensive:(NSString *)param callback:(RCTResponseSe
241241
>
242242
> `methodQueue`方法会在模块被初始化的时候被执行一次,然后会被React Native的桥接机制保存下来,所以你不需要自己保存队列的引用,除非你希望在模块的其它地方使用它。但是,如果你希望在若干个模块中共享同一个队列,则需要自己保存并返回相同的队列实例;仅仅是返回相同名字的队列是不行的。
243243
244-
## Depedency Injection
245-
The bridge initializes any registered RCTBridgeModules automatically, however you may wish to instantiate your own module instances (so you may inject dependencies, for example).
244+
## 依赖注入
245+
bridge会自动注册实现了`RCTBridgeModule`协议的模块,但是你可能也希望能够初始化自定义的模块实例(这样可以注入依赖)。
246246
247-
You can do this by creating a class that implements the RTCBridgeDelegate Protocol, initializing an RTCBridge with the delegate as an argument and initialising a RTCRootView with the initialized bridge.
247+
要实现这个功能,你需要实现`RTCBridgeDelegate`协议,初始化`RTCBridge`,并且在初始化方法里指定代理。然后用初始化好的`RTCBridge`实例初始化一个`RTCRootView`。
248248
249249
```objective-c
250250
id<RCTBridgeDelegate> moduleInitialiser = [[classThatImplementsRTCBridgeDelegate alloc] init];

docs/docs/0.39/android-building-from-source.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
* Android SDK version 23 (编译SDK版本号在[build.gradle](https://github.com/facebook/react-native/blob/master/ReactAndroid/build.gradle)中可以找到)
1010
* SDK build tools version 23.0.1(编译工具版本号在[build.gradle](https://github.com/facebook/react-native/blob/master/ReactAndroid/build.gradle)中可以找到)
11-
* Local Maven repository for Support Libraries(之前叫做Android Support Repository >= 17 (Android Support Library所需的模块)
11+
* Android Support Repository >= 17
1212
* Android NDK(下载及解压指南看[这里](http://developer.android.com/ndk/downloads/index.html))
1313

1414
将Gradle指向你的安卓SDK: 设置`$ANDROID_SDK``$ANDORID_NDK`为对应的目录,或者按照以下内容在react-native根目录下创建local.properties文件(注意:windows下需要使用反双斜杠)。
@@ -53,7 +53,7 @@ npm install --save github:facebook/react-native#master
5353
...
5454
dependencies {
5555
classpath 'com.android.tools.build:gradle:1.3.1'
56-
classpath 'de.undercouch:gradle-download-task:2.0.0'
56+
classpath 'de.undercouch:gradle-download-task:3.1.2'
5757
5858
// 注意:不要把你的应用的依赖放在这里;
5959
// 它们应该放在各自模块的build.gradle文件中

docs/docs/0.39/direct-manipulation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ render() {
4848

4949
比起之前的例子,这一做法会消耗大量的计算 —— 每一次透明值变更的时候React都要重新渲染组件结构,即便视图的其他属性和子组件并没有变化。一般来说这一开销也不足为虑,但当执行连续的动画以及响应用户手势的时候,只有正确地优化组件才能提高动画的流畅度。
5050

51-
如果你看过[NativeMethodsMixin.js](https://github.com/facebook/react-native/blob/master/Libraries/ReactIOS/NativeMethodsMixin.js)中的`setNativeProps`方法的实现,你就会发现它实际是对`RCTUIManager.updateView`的封装 —— 而这正是重渲染所触发的函数调用,具体可以参看[ReactNativeBaseComponent.js中的receiveComponent](https://github.com/facebook/react-native/blob/master/Libraries/ReactNative/ReactNativeBaseComponent.js).
51+
如果你看过[NativeMethodsMixin.js](<https://github.com/facebook/react/blob/master/src/renderers/native/NativeMethodsMixin.js>)中的`setNativeProps`方法的实现,你就会发现它实际是对`RCTUIManager.updateView`的封装 —— 而这正是重渲染所触发的函数调用,具体可以参看[ReactNativeBaseComponent.js中的receiveComponent](<https://github.com/facebook/react/blob/master/src/renderers/native/ReactNativeBaseComponent.js>).
5252

5353
## 复合组件与setNativeProps
5454

docs/docs/0.39/layout-with-flexbox.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
一般来说,使用`flexDirection``alignItems``justifyContent`三个样式属性就已经能满足大多数布局需求。译注:这里有一份[简易布局图解](http://weibo.com/1712131295/CoRnElNkZ?ref=collection&type=comment),可以给你一个大概的印象。
44

5-
> React Native中的Flexbox的工作原理和web上的CSS基本一致,当然也存在少许差异。首先是默认值不同:`flexDirection`的默认值是`column`而不是`row``alignItems`的默认值是`stretch`而不是`flex-start`,以及`flex`只能指定一个数字值
5+
> React Native中的Flexbox的工作原理和web上的CSS基本一致,当然也存在少许差异。首先是默认值不同:`flexDirection`的默认值是`column`而不是`row``flex`也只能指定一个数字值
66
77
#### Flex Direction
88

docs/docs/0.39/native-modules-android.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ public void onActivityResult(
312312
}
313313
```
314314

315-
下面我们写一个简单的图片选择器来实践一下。The image picker will expose the method `pickImage` to JavaScript, which will return the path of the image when called.
315+
下面我们写一个简单的图片选择器来实践一下。这个图片选择器会把`pickImage`方法暴露给JavaScript,而这个方法在调用时就会把图片的路径返回到JS端。
316316

317317
```java
318318
public class ImagePickerModule extends ReactContextBaseJavaModule {
@@ -391,13 +391,13 @@ public class ImagePickerModule extends ReactContextBaseJavaModule {
391391

392392
### 监听生命周期事件
393393

394-
Listening to the activity's LifeCycle events such as `onResume`, `onPause` etc. is very similar to how we implemented `ActivityEventListener`. The module must implement `LifecycleEventListener`. Then, you need to register a listener in the module's constructor,
394+
监听activity的生命周期事件(比如`onResume`, `onPause`等等)和我们在前面实现 `ActivityEventListener`的做法类似。模块必须实现`LifecycleEventListener`,然后需要在构造函数中注册一个监听函数:
395395

396396
```java
397397
reactContext.addLifecycleEventListener(this);
398398
```
399399

400-
Now you can listen to the activity's LifeCycle events by implementing the following methods:
400+
现在你可以通过实现下列方法来监听activity的生命周期事件了:
401401

402402
```java
403403
@Override

docs/docs/0.39/native-modules-ios.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,10 +241,10 @@ RCT_EXPORT_METHOD(doSomethingExpensive:(NSString *)param callback:(RCTResponseSe
241241
>
242242
> `methodQueue`方法会在模块被初始化的时候被执行一次,然后会被React Native的桥接机制保存下来,所以你不需要自己保存队列的引用,除非你希望在模块的其它地方使用它。但是,如果你希望在若干个模块中共享同一个队列,则需要自己保存并返回相同的队列实例;仅仅是返回相同名字的队列是不行的。
243243
244-
## Depedency Injection
245-
The bridge initializes any registered RCTBridgeModules automatically, however you may wish to instantiate your own module instances (so you may inject dependencies, for example).
244+
## 依赖注入
245+
bridge会自动注册实现了`RCTBridgeModule`协议的模块,但是你可能也希望能够初始化自定义的模块实例(这样可以注入依赖)。
246246
247-
You can do this by creating a class that implements the RTCBridgeDelegate Protocol, initializing an RTCBridge with the delegate as an argument and initialising a RTCRootView with the initialized bridge.
247+
要实现这个功能,你需要实现`RTCBridgeDelegate`协议,初始化`RTCBridge`,并且在初始化方法里指定代理。然后用初始化好的`RTCBridge`实例初始化一个`RTCRootView`。
248248
249249
```objective-c
250250
id<RCTBridgeDelegate> moduleInitialiser = [[classThatImplementsRTCBridgeDelegate alloc] init];

docs/docs/next/android-building-from-source.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
* Android SDK version 23 (编译SDK版本号在[build.gradle](https://github.com/facebook/react-native/blob/master/ReactAndroid/build.gradle)中可以找到)
1010
* SDK build tools version 23.0.1(编译工具版本号在[build.gradle](https://github.com/facebook/react-native/blob/master/ReactAndroid/build.gradle)中可以找到)
11-
* Local Maven repository for Support Libraries(之前叫做Android Support Repository >= 17 (Android Support Library所需的模块)
11+
* Android Support Repository >= 17
1212
* Android NDK(下载及解压指南看[这里](http://developer.android.com/ndk/downloads/index.html))
1313

1414
将Gradle指向你的安卓SDK: 设置`$ANDROID_SDK``$ANDORID_NDK`为对应的目录,或者按照以下内容在react-native根目录下创建local.properties文件(注意:windows下需要使用反双斜杠)。
@@ -53,7 +53,7 @@ npm install --save github:facebook/react-native#master
5353
...
5454
dependencies {
5555
classpath 'com.android.tools.build:gradle:1.3.1'
56-
classpath 'de.undercouch:gradle-download-task:2.0.0'
56+
classpath 'de.undercouch:gradle-download-task:3.1.2'
5757
5858
// 注意:不要把你的应用的依赖放在这里;
5959
// 它们应该放在各自模块的build.gradle文件中

docs/docs/next/direct-manipulation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ render() {
4848

4949
比起之前的例子,这一做法会消耗大量的计算 —— 每一次透明值变更的时候React都要重新渲染组件结构,即便视图的其他属性和子组件并没有变化。一般来说这一开销也不足为虑,但当执行连续的动画以及响应用户手势的时候,只有正确地优化组件才能提高动画的流畅度。
5050

51-
如果你看过[NativeMethodsMixin.js](https://github.com/facebook/react-native/blob/master/Libraries/ReactIOS/NativeMethodsMixin.js)中的`setNativeProps`方法的实现,你就会发现它实际是对`RCTUIManager.updateView`的封装 —— 而这正是重渲染所触发的函数调用,具体可以参看[ReactNativeBaseComponent.js中的receiveComponent](https://github.com/facebook/react-native/blob/master/Libraries/ReactNative/ReactNativeBaseComponent.js).
51+
如果你看过[NativeMethodsMixin.js](<https://github.com/facebook/react/blob/master/src/renderers/native/NativeMethodsMixin.js>)中的`setNativeProps`方法的实现,你就会发现它实际是对`RCTUIManager.updateView`的封装 —— 而这正是重渲染所触发的函数调用,具体可以参看[ReactNativeBaseComponent.js中的receiveComponent](<https://github.com/facebook/react/blob/master/src/renderers/native/ReactNativeBaseComponent.js>).
5252

5353
## 复合组件与setNativeProps
5454

docs/docs/next/layout-with-flexbox.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
一般来说,使用`flexDirection``alignItems``justifyContent`三个样式属性就已经能满足大多数布局需求。译注:这里有一份[简易布局图解](http://weibo.com/1712131295/CoRnElNkZ?ref=collection&type=comment),可以给你一个大概的印象。
44

5-
> React Native中的Flexbox的工作原理和web上的CSS基本一致,当然也存在少许差异。首先是默认值不同:`flexDirection`的默认值是`column`而不是`row``alignItems`的默认值是`stretch`而不是`flex-start`,以及`flex`只能指定一个数字值
5+
> React Native中的Flexbox的工作原理和web上的CSS基本一致,当然也存在少许差异。首先是默认值不同:`flexDirection`的默认值是`column`而不是`row``flex`也只能指定一个数字值
66
77
#### Flex Direction
88

0 commit comments

Comments
 (0)