Skip to content

Commit

Permalink
Merge branch 'master' into feat_cli_template
Browse files Browse the repository at this point in the history
# Conflicts:
#	packages/taro-cli/templates/default/index.js
#	packages/taro-cli/templates/default/src/pages/index/index.jsx
#	packages/taro-cli/templates/mobx/appjs
#	packages/taro-cli/templates/mobx/index.js
#	packages/taro-cli/templates/mobx/pagejs
#	packages/taro-cli/templates/redux/index.js
#	packages/taro-cli/templates/redux/pagejs
#	packages/taro-cli/templates/wxcloud/client/pagejs
#	packages/taro-cli/templates/wxcloud/index.js
#	packages/taro-cli/templates/wxplugin/index.js
#	packages/taro-cli/templates/wxplugin/pagejs
  • Loading branch information
Chen-jj committed Jul 10, 2019
2 parents ceab89d + b7a327b commit ebf9cd2
Show file tree
Hide file tree
Showing 223 changed files with 5,980 additions and 1,981 deletions.
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ assignees: ''

> Feature Request 请提到 [FeatHub](https://feathub.com/NervJS/taro)
> Taro 使用上的问题请提到 [Taro 社区——让每一次交流被沉淀](https://taro-club.jd.com/)
如果是提交 bug,请搜索文档和 issue,确认以下事项:

* 该问题没有在其他 issue 和文档讨论到,不属于重复内容
Expand Down
221 changes: 220 additions & 1 deletion CHANGELOG.md

Large diffs are not rendered by default.

22 changes: 22 additions & 0 deletions docs/apis/multimedia/images/chooseImage.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,28 @@ sidebar_label: chooseImage

注:RN 端该 API 不支持 `count` 属性;不支持相机与相册同时选择,只会取 `sourceType` 数组里的第一个值。默认从相册选取图片。

## 参数

| Param | Type | Default | Description |
| --- | --- | --- | --- |
| object | <code>Object</code> | | 参数 |
| [object.sourceType] | <code>Array.&lt;string&gt;</code> | <code>[&#x27;album&#x27;, &#x27;camera&#x27;]</code> | 选择图片的来源(h5端未实现) |
| [object.sizeType] | <code>Array.&lt;string&gt;</code> | <code>[&#x27;original&#x27;, &#x27;compressed&#x27;]</code> | 所选的图片的尺寸(h5端未实现) |
| [object.count] | <code>number</code> | <code>9</code> | 最多可以选择的图片张数 |
| [object.success] | <code>function</code> | | 接口调用成功的回调函数 |
| [object.fail] | <code>function</code> | | 接口调用失败的回调函数 |
| [object.complete] | <code>function</code> | | 接口调用结束的回调函数(调用成功、失败都会执行) |
| [object.imageId] | <code>string</code> | | 用来上传的input元素ID(仅h5端) |

## 返回值

### Promise &lt;object res&gt;

| Name | Type | Description |
| --- | --- | --- |
| res.tempFilePaths | Array.<string> | 图片的本地临时文件路径列表
| res.tempFiles | Array.<Object> | 图片的本地临时文件列表

## 示例代码

```jsx
Expand Down
22 changes: 19 additions & 3 deletions docs/apis/network/request/request.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ title: Taro.request(OBJECT)
sidebar_label: request
---


发起网络请求,支持 `Promise` 化使用。

> 暂不支持使用 [RequestTask.onHeadersReceived(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onHeadersReceived.html)[RequestTask.offHeadersReceived(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offHeadersReceived.html) 方法。
**OBJECT 参数说明:**

| 参数 | 类型 | 必填 | 默认值 | 说明 |
Expand Down Expand Up @@ -56,12 +57,27 @@ Taro.request({
.then(res => console.log(res.data))
```

## 小程序端使用 RequestTask.abort()

```jsx
const requestTask = Taro.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data: {
x: '' ,
y: ''
},
header: {
'content-type': 'application/json'
},
success (res) {
console.log(res.data)
}
})
requestTask.abort() // 取消请求任务
```

## API支持度


| API | 微信小程序 | H5 | React Native | 支付宝小程序 | 百度小程序 | 头条小程序 | QQ 轻应用 |
| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
| Taro.request | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |

22 changes: 21 additions & 1 deletion docs/best-practice.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ class App extends Component {

### 组件 `state``props` 里字段重名的问题

不要在 `state``props` 上用同名的字段,因为这些被字段在微信小程序中都会挂在 `data` 上。
不要在 `state``props` 上用同名的字段,因为这些字段在微信小程序中都会挂在 `data` 上。

### 小程序中页面生命周期 `componentWillMount` 不一致问题

Expand Down Expand Up @@ -234,6 +234,26 @@ if (process.env.NODE_ENV === 'development') {

`this.$componentType` 可能取值分别为 `PAGE``COMPONENT`,开发者可以根据此变量的取值分别采取不同逻辑。

### 原生小程序组件传递 props 给 Taro 组件

**Taro v1.3+** 对 props 系统进行了改造,使得不能兼容原生组件通过 properties 传入的属性。

目前可以通过把所有需要传入 Taro 组件的 props,通过借助 `extraProps` 属性来解决。

```js
// 小程序组件常规 props 传递
<Plugin title="{{name}}" desc="{{desc}}" />

// 原生小程序组件调用 Taro 组件时需要改造成以下形式:
this.setData({
extraProps: {
name,
desc
}
})
<Plugin extraProps="{{extraProps}}" />
```

## 全局变量

在 Taro 中推荐使用 `Redux` 来进行全局变量的管理,但是对于一些小型的应用, `Redux` 就可能显得比较重了,这时候如果想使用全局变量,推荐如下使用。
Expand Down
6 changes: 3 additions & 3 deletions docs/components/media/camera.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ sidebar_label: Camera
| H5 | ReactNative| 属性名 | 类型 | 默认值 | 说明 |
| :-: | :-: | :- | :- | :- | :- |
| | | devicePosition | String | back | 前置或后置,值为 front, back |
| | | onStop | EventHandle | | 摄像头在非正常终止时触发,如退出后台等情况 |
| | | onError | EventHandle | | 用户不允许使用摄像头时触发 |
| | | devicePosition | String | back | 前置或后置,值为 front, back |
| | | onStop | EventHandle | | 摄像头在非正常终止时触发,如退出后台等情况 |
| | | onError | EventHandle | | 用户不允许使用摄像头时触发 |

>其他相关属性请看各小程序官方文档
Expand Down
2 changes: 1 addition & 1 deletion docs/event.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ class Title extends Component{
### 函数式组件

在函数式组件中,事件传参可以传入事件的引用也可以传入匿名函数,以下是函数式组件配合 [`useCallback`](docs/hooks.html#usecallback) 的一个例子:
在函数式组件中,事件传参可以传入事件的引用也可以传入匿名函数,以下是函数式组件配合 [`useCallback`](hooks.html#usecallback) 的一个例子:

```jsx
const App = () => {
Expand Down
29 changes: 29 additions & 0 deletions docs/hooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -361,3 +361,32 @@ const value = useContext(MyContext)
> 如果你在接触 Hook 前已经对 context API 比较熟悉,那应该可以理解,`useContext(MyContext)` 相当于 class 组件中的 `static contextType = MyContext` 或者 <MyContext.Consumer>。
> `useContext(MyContext)` 只是让你能够读取 context 的值以及订阅 context 的变化。你仍然需要在上层组件树中使用 <MyContext.Provider> 来为下层组件提供 context。
## 页面及组件中相关属性设置

在 Taro 中,你可以为页面及组件设置一些属性来达到一些特殊的目的,例如 `config` 设置配置等等,在前面章节你已经学会如何在类中进行相关设置,同样的,使用 Hooks 时你也可以进行相关设置来达到和使用类一样的效果。

不同于使用类的写法,使用 Hooks 时,你需要将 `config``options` 等配置直接挂载在 Hooks 函数上,即可以达到想要的效果,例如

为页面设置 `config`

```jsx
export default function Index () {
return <View></View>
}

Index.config = {
navigationBarTitleText: '首页'
}
```

为组件设置 `options`

```jsx
export default function Com () {
return <View></View>
}

Com.options = {
addGlobalClass: true
}
```
20 changes: 20 additions & 0 deletions docs/miniprogram-plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,26 @@ export default class Index extends Component {
}
```

### Taro v1.3+ 组件插件接受外部 props 的问题

[#3176](https://github.com/NervJS/taro/issues/3176)

Taro v1.3 对 props 系统进行了改造,使得不能兼容原生组件通过 properties 传入的属性。

目前可以通过把所有需要传入组件插件的 props,通过借助 `extraProps` 属性来解决。

```js
// 常规 props 传递
<Plugin title={this.state.name} desc={this.state.desc} />

// 在使用插件组件时需要改造成以下形式:
const extraProps = {
name: this.state.name,
desc: this.state.desc
}
<Plugin extraProps={extraProps} />
```

### 使用接口插件

plugin.json 的 **main** 字段加入接口插件路径:
Expand Down
Loading

0 comments on commit ebf9cd2

Please sign in to comment.