我是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) };
但它没有编译。
答案 0 :(得分:1)
刚试过它。
你可以通过将连接调用的结果赋值给const来解决你的错误,然后像这样导出那个const。
const comp1 = connect(mapStateToProps)(MyComponent);
export {comp1 as MyComponent};
答案 1 :(得分:0)
我不认为问题是Redux,import
和export
ES6方法很混乱。例如:
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'
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)}
请记住,如果您导出为默认导出,则导出唯一对象的实例。如果导出{},则导出"副本"一个对象。