ReactJS - การตรวจสอบอุปกรณ์ประกอบฉาก
การตรวจสอบคุณสมบัติเป็นวิธีที่มีประโยชน์ในการบังคับใช้ส่วนประกอบที่ถูกต้อง สิ่งนี้จะช่วยในระหว่างการพัฒนาเพื่อหลีกเลี่ยงข้อบกพร่องและปัญหาในอนาคตเมื่อแอปมีขนาดใหญ่ขึ้น นอกจากนี้ยังทำให้โค้ดอ่านง่ายขึ้นเนื่องจากเราสามารถดูว่าแต่ละองค์ประกอบควรใช้อย่างไร
กำลังตรวจสอบอุปกรณ์ประกอบฉาก
ในตัวอย่างนี้เรากำลังสร้าง App ส่วนประกอบกับไฟล์ props ที่เราต้องการ App.propTypesใช้สำหรับการตรวจสอบอุปกรณ์ประกอบฉาก หากอุปกรณ์ประกอบฉากบางชิ้นไม่ได้ใช้ประเภทที่ถูกต้องที่เรากำหนดเราจะได้รับคำเตือนจากคอนโซล หลังจากที่เราระบุรูปแบบการตรวจสอบแล้วเราจะตั้งค่าApp.defaultProps.
App.jsx
import React from 'react';
class App extends React.Component {
render() {
return (
<div>
<h3>Array: {this.props.propArray}</h3>
<h3>Bool: {this.props.propBool ? "True..." : "False..."}</h3>
<h3>Func: {this.props.propFunc(3)}</h3>
<h3>Number: {this.props.propNumber}</h3>
<h3>String: {this.props.propString}</h3>
<h3>Object: {this.props.propObject.objectName1}</h3>
<h3>Object: {this.props.propObject.objectName2}</h3>
<h3>Object: {this.props.propObject.objectName3}</h3>
</div>
);
}
}
App.propTypes = {
propArray: React.PropTypes.array.isRequired,
propBool: React.PropTypes.bool.isRequired,
propFunc: React.PropTypes.func,
propNumber: React.PropTypes.number,
propString: React.PropTypes.string,
propObject: React.PropTypes.object
}
App.defaultProps = {
propArray: [1,2,3,4,5],
propBool: true,
propFunc: function(e){return e},
propNumber: 1,
propString: "String value...",
propObject: {
objectName1:"objectValue1",
objectName2: "objectValue2",
objectName3: "objectValue3"
}
}
export default App;
main.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App.jsx';
ReactDOM.render(<App/>, document.getElementById('app'));