edm*_*rto 7 ecmascript-6 reactjs react-redux
我仍然对react + redux和ES6感兴趣.我正在尝试实现socketio,我遇到了必须导出socketio连接我的redux连接的问题.
redux连接
export default connect(mapStateToProps, matchDispatchToProps)(UserList);
Run Code Online (Sandbox Code Playgroud)
socketio连接
export default socketConnect(App);
Run Code Online (Sandbox Code Playgroud)
问题 使它们一起工作的正确语法是什么?
Jef*_*ege 15
我没有看到提及的一种可能性。您只能有一个默认导出,但导出的可以是具有多个成员的对象:
// MyModule.js
const componentA => () => {return <div>Component A</div>;}
const componentB => () => {return <div>Component B</div>;}
export default { componentA, componentB };
Run Code Online (Sandbox Code Playgroud)
进而:
import MyModule from "./MyModule";
MyModule.componentA();
Run Code Online (Sandbox Code Playgroud)
AJc*_*dez 14
您不能有多个默认导出.
相反,使用命名导出.
// moduleName.js
export const ConnectedUserList = connect(mapStateToProps, matchDispatchToProps)(UserList)
export const RealTimeApp = socketConnect(App);
Run Code Online (Sandbox Code Playgroud)
按名称要求导出.
// otherModule.js
import { ConnectedUserList, RealTimeApp } from "./moduleName"
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以混合使用默认导出和命名导出。
export default ConnectedUserList = connect(mapStateToProps, matchDispatchToProps)(UserList)
export const RealTimeApp = socketConnect(App);
Run Code Online (Sandbox Code Playgroud)
之后,您可以导入您的出口:
import ConnectedUserList, { RealTimeApp } from "./moduleName"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14356 次 |
| 最近记录: |