@
สัญลักษณ์ในความเป็นจริงการแสดงออก JavaScript เสนอในปัจจุบันที่มีความหมายตกแต่ง :
ผู้ตกแต่งสามารถทำให้คำอธิบายประกอบและปรับเปลี่ยนคลาสและคุณสมบัติได้ในขณะออกแบบ
นี่คือตัวอย่างของการตั้งค่า Redux แบบไม่มีและมี decorator:
ไม่มีมัณฑนากร
import React from 'react';
import * as actionCreators from './actionCreators';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
function mapStateToProps(state) {
return { todos: state.todos };
}
function mapDispatchToProps(dispatch) {
return { actions: bindActionCreators(actionCreators, dispatch) };
}
class MyApp extends React.Component {
// ...define your main app here
}
export default connect(mapStateToProps, mapDispatchToProps)(MyApp);
ใช้มัณฑนากร
import React from 'react';
import * as actionCreators from './actionCreators';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
function mapStateToProps(state) {
return { todos: state.todos };
}
function mapDispatchToProps(dispatch) {
return { actions: bindActionCreators(actionCreators, dispatch) };
}
@connect(mapStateToProps, mapDispatchToProps)
export default class MyApp extends React.Component {
// ...define your main app here
}
ทั้งสองตัวอย่างข้างต้นเทียบเท่ากันเป็นเพียงเรื่องของการตั้งค่า นอกจากนี้ไวยากรณ์ของมัณฑนากรยังไม่ได้ถูกสร้างขึ้นใน Javascript runtimes ใด ๆ และยังคงอยู่ในช่วงทดลองและอาจมีการเปลี่ยนแปลง หากคุณต้องการที่จะใช้มันก็สามารถใช้ได้โดยใช้บาเบล