Skip to content

Commit

Permalink
update(cn): content/warnings/unknown-prop.md improve translation
Browse files Browse the repository at this point in the history
  • Loading branch information
seognil committed Feb 19, 2019
1 parent 01986fa commit 9abb987
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions content/warnings/unknown-prop.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,17 @@ title: 警告:未知的 Prop
layout: single
permalink: warnings/unknown-prop.html
---
当你尝试用一个无法被 React 识别为合法 DOM 属性(attribute / property)的 prop 渲染 DOM 元素时,会出现 unknown-prop 警告。你应该确保你的 DOM 元素上没有这类失效的 props。

unknown-prop 警告出现在:当你试图用 React 无法识别为合法 DOM 属性(attribute/property)的一个 prop 渲染 DOM 元素的时候。你应该确保你的那些 DOM 元素中没有这样失效的 props。
这个警告出现的原因可能有几种:

这个警告的出现有几种可能的原因:
1. 你使用了 `{...this.props}` 或者 `cloneElement(element, this.props)` 吗?你的组件会直接把它自己的 props 传递给子元素(例如 [传递 props](/docs/transferring-props.html))。向子组件传递 props 时,你应该避免转发本应由父组件解释的 props。

1. 你使用了 `{...this.props}` 或者 `cloneElement(element, this.props)` 吗?你的组件会直接把它自己的 props 传递给子元素(例如 [传递 props](/docs/transferring-props.html))。将 props 传递给子组件时,你应该确保不会意外地转发要由父组件解释的 props
2. 你在原生 DOM 节点上使用的是非标准的 DOM 属性,或许是用来表示自定义数据。如果你想把自定义数据附加到标准 DOM 元素上,请参考 [MDN](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes) 使用自定义的 data 属性

2. 你在原生 DOM 节点上使用的是非标准的 DOM 属性,或许是用来表示自定义数据。如果你想把自定义数据附加到标准 DOM 元素上,请考虑使用自定义的 data 属性,参考 [MDN](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes)
3. React 还不能识别你指定的属性。这可能会在 React 的未来版本中修复。不过,React 目前会去除所有未知的属性,因此即使在 React 应用中指定这些属性也无法使它们渲染

3. React 还不能识别你指定的属性。这可能会在 React 的未来版本中修复。不过,当前的 React 会去除所有未知的属性,所以在你的 React 应用中指定它们,它们也不会被渲染。

4. 你在使用 React 组件但是没有使用大写,React 会将其解释为 DOM 标签,这是因为 [React JSX 依次使用大写和小写的约定来区分用户定义的组件和 DOM 标签](/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized)
4. 你在使用 React 组件但是没有使用大写,React 会将其解释为 DOM 标签,这是因为 [React JSX 语法使用大小写约定来区分用户自定义组件和 DOM 标签](/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized)

---

Expand All @@ -34,7 +33,7 @@ function MyDiv(props) {
}
```

**良好的:** 剩余运算符能从 props 中剥离变量,并将剩余的 props 放到一个新变量中。
**良好的:** 展开运算符能从 props 中剥离变量,并将剩余的 props 放到一个新变量中。

```js
function MyDiv(props) {
Expand All @@ -47,7 +46,7 @@ function MyDiv(props) {
}
```

**良好的:** 你也可以将 props 分配给一个新的对象,并从新对象中删除你正在使用的属性。注意不要删除原始对象 `this.props` 中的 props,因为这个对象理应被认为是不可变的(immutable)
**良好的:** 你也可以将 props 分配给一个新的对象,并从新对象中删除你正在使用的属性。注意不要删除原始对象 `this.props` 中的 props,因为这个对象理应被认为是不可变的。

```js
function MyDiv(props) {
Expand Down

0 comments on commit 9abb987

Please sign in to comment.