用redux

时间:2017-05-23 13:56:27

标签: javascript reactjs react-native redux react-redux

我是React和React原生的新手。

我有一个包含多个组件的文件夹,我已经能够创建一个index.js文件来导出文件夹中的所有组件,所以在其他组件中我可以这样做:

# /components/OneComponent.js
...
export { OneComponent }

# index.js
import { OneComponent } from './components'
```

现在我正在使用Redux,我想完成同样的事情,但我不知道该怎么做。在我的组件中,我按如下方式导出组件:

# /component/OneComponent.js
export default connect(mapStateToProps, { myFunction})(OneComponent);

它应该如我所知

export { connect(mapStateToProps, { myFunction})(OneComponent) };

但它没有编译。

3 个答案:

答案 0 :(得分:1)

刚试过它。

你可以通过将连接调用的结果赋值给const来解决你的错误,然后像这样导出那个const。

const comp1 = connect(mapStateToProps)(MyComponent);

export {comp1 as MyComponent};

答案 1 :(得分:0)

我不认为问题是Redux,importexport ES6方法很混乱。例如:

  • 示例1(带export default):

导出默认内容时,不应使用{}

导入
## CORRECT
# /components/OneComponent.js
...
export default connect(mapStateToProps, { myFunction})(OneComponent);

# index.js
import AnyName from './components/OneComponent.js'

## WRONG
# /components/OneComponent.js
...
export default connect(mapStateToProps, { myFunction})(OneComponent);

# index.js
import { OneComponent } from './components/OneComponent.js'
  • 示例2(没有export default):

尝试命名对象键

##CORRECT
# /components/OneComponent.js
...
export { OneComponent: connect(mapStateToProps, { myFunction})(OneComponent) };

# index.js
import { OneComponent } from './components'

##WRONG
# /components/OneComponent.js
...
export { connect(mapStateToProps, { myFunction})(OneComponent) };

# index.js
//It wont find the key OneComponent on exported object
import { OneComponent } from './components'

答案 2 :(得分:0)

从索引导出组件时,需要将它们导出为:

DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); int height = metrics.heightPixels; int width = metrics.widthPixels;

然后在你的index.js中: export {connect(mapStateToPops,mapDispatchToProps)(ComponentName)}

请记住,如果您导出为默认导出,则导出唯一对象的实例。如果导出{},则导出"副本"一个对象。