Heim >Web-Frontend >js-Tutorial >React.js-Props
Dieses Mal werde ich Ihnen die Requisiten von React.js vorstellen. Das Folgende ist ein praktischer Fall, schauen wir uns das an.
<Son userid={123}/>Empfangen Sie den von der übergeordneten Komponente übergebenen Wert in der Sohnkomponente
<p>接收到的父页面的属性 -- userid: {this.props.userid} username:{this.props.username}</p>Von Natürlich kann dies auch auf der Son-Seite erfolgen. Legen Sie den Typ und den Standardwert der übergebenen Parameter fest
// 给属性设置类型BodyIndex.propTypes = { // isRequired 必须的参数 userid: React.PropTypes.number.isRequired, username: React.PropTypes.string }// 设置默认值BodyIndex.defaultProps = { username: '哈哈'}Einzelheiten zum Festlegen des Typs finden Sie in der offiziellen Dokumentation
MyComponent.propTypes = { // You can declare that a prop is a specific JS primitive. By default, these // are all optional. optionalArray: PropTypes.array, optionalBool: PropTypes.bool, optionalFunc: PropTypes.func, optionalNumber: PropTypes.number, optionalObject: PropTypes.object, optionalString: PropTypes.string, optionalSymbol: PropTypes.symbol, // Anything that can be rendered: numbers, strings, elements or an array// (or fragment) containing these types.optionalNode: PropTypes.node,// A React element.optionalElement: PropTypes.element, // You can also declare that a prop is an instance of a class. This uses // JS's instanceof operator. optionalMessage: PropTypes.instanceOf(Message), // You can ensure that your prop is limited to specific values by treating // it as an enum. optionalEnum: PropTypes.oneOf(['News', 'Photos']), // An object that could be one of many types optionalUnion: PropTypes.oneOfType([ PropTypes.string, PropTypes.number, PropTypes.instanceOf(Message) ]), // An array of a certain type optionalArrayOf: PropTypes.arrayOf(PropTypes.number), // An object with property values of a certain type optionalObjectOf: PropTypes.objectOf(PropTypes.number), // An object taking on a particular shape optionalObjectWithShape: PropTypes.shape({ color: PropTypes.string, fontSize: PropTypes.number }), // You can chain any of the above with `isRequired` to make sure a warning // is shown if the prop isn't provided. requiredFunc: PropTypes.func.isRequired, // A value of any data type requiredAny: PropTypes.any.isRequired, // You can also specify a custom validator. It should return an Error // object if the validation fails. Don't `console.warn` or throw, as this // won't work inside `oneOfType`. customProp: function(props, propName, componentName) { if (!/matchme/.test(props[propName])) { return new Error( 'Invalid prop `' + propName + '` supplied to' + ' `' + componentName + '`. Validation failed.' ); } }, // You can also supply a custom validator to `arrayOf` and `objectOf`. // It should return an Error object if the validation fails. The validator // will be called for each key in the array or object. The first two // arguments of the validator are the array or object itself, and the // current item's key. customArrayProp: PropTypes.arrayOf(function(propValue, key, componentName, location, propFullName) { if (!/matchme/.test(propValue[key])) { return new Error( 'Invalid prop `' + propFullName + '` supplied to' + ' `' + componentName + '`. Validation failed.' ); } }) };Die Sohnkomponente übergibt die von der übergeordneten Komponente übergebenen Eigenschaften an die untergeordnete Komponente
Durch Erweitern des
-Operators {...this.props} werden alle von der übergeordneten Komponente übergebenen Eigenschaften übertragen übergeben an die eigene untergeordnete Komponente (Enkelkomponente) id={1234} ist Die von der Sohnkomponente selbst an die Enkelkomponente übergebenen Eigenschaften
<GrandSon {...this.props} id={1234}/>werden von der Enkelkomponente aufgerufen und die Eigenschaften übergeben von der Son-Komponente
<p>{this.props.userid} {this.props.username} {this.props.id}</p>refs: sind die einzige zuverlässige Möglichkeit, auf den DOM-Knoten innerhalb der Komponente zuzugreifen. Methode
<input ref='submitButton' type="button" value='提交' onClick={() => this.changeUserInfo(99)}/>Wenn Sie den Dom erhalten möchten, rufen Sie ihn über this.refs.xxx ab
this.refs.submitButton.style.color = 'red';Hinweis:Rufen Sie Refs nicht vor dem Rendern oder Rendern auf;Missbrauchen Sie Refs nicht. Wenn Sie es nicht verwenden können, verwenden Sie es nicht!!!Ich glaube, Sie haben es gemeistert, nachdem Sie den Fall in diesem Artikel gelesen haben. Für weitere aufregende Methoden zahlen Sie bitte Beachten Sie auch andere verwandte Artikel auf der chinesischen PHP-Website! Empfohlene Lektüre:
Benutzerdefinierte Direktive von Vue.js
Das obige ist der detaillierte Inhalt vonReact.js-Props. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!