【发布时间】:2016-07-31 01:17:37
【问题描述】:
我在查看react native redux example 项目时提出了很多问题。谁能指出我将解释这些高级语法糖的文档?
例如:
import React, { AppRegistry } from 'react-native';
为什么在 {} 中有 AppRegistry,React 的导入和 AppRegistry 的导入在功能上有什么区别?
这个导入语句会发生什么:
import * as types from '../actions/actionTypes';
它们会作为数组导入吗?
另一件事:
render() {
const { state, actions } = this.props;
return (
<Counter
counter={state.count}
{...actions} />
);
}
什么将传递给 Counter-Component?动作变量是从哪里来的?它从 this.props 中被破坏,但在调用者中不会传递任何内容。另外:
中的扩展运算符<Counter/>
,这是否会附加另一个参数,因为它们会以逗号分隔的变量名传递?
另一件事:
export default function counter(state = initialState, action = {}) {
switch (action.type) {
case types.INCREMENT:
return {
...state,
count: state.count + 1
};
return 语句真正返回的是什么?扩展运算符和一个名为“count”的属性,如果扩展运算符已经包含一个名为“count”的变量,它们是否会合并在一起?
此外,该项目在 reducers 文件夹中包含一个名为 index.js 的简单文件,其内容如下:
import counter from './counter';
export {
counter
};
有意义吗?
我问这个项目是因为这个项目被命名为在 react native 中使用 redux 的示例应用程序,但我认为它是为了学习目的而完成的。而且我不确定,在结构上是否一切都有意义。但我真正的问题是澄清我在那里找到的这些句法糖元素
【问题讨论】:
-
这应该是两个独立的问题,您的第一个问题在这里阅读有关导入的文档:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
我仍然不明白“import React, { AppRegistry } from 'react-native';”中两种变体之间的区别。
-
就在此处,在您将所有内容作为类型导入的示例上方,
-
搜索默认和命名的导入/导出。
-
我是那个项目的作者。这个项目主要针对那些了解基本和中级 ES6 的人。 react 和 react-native 都很简单,但需要你了解一些 ES6 和 ES7 的概念。我建议你使用babeljs.io/repl 来学习 ES6 和 ES7。一旦您对概念感到满意,请返回我的项目并进行研究。如果你有任何问题。只需创建一个问题,我很乐意为您澄清。干杯
标签: javascript ecmascript-6 react-native redux