React Basis: Standard Rekvisitter og Typechecking med Proptyper.
i denne bloggen gjennomgår vi To React grunnleggende emner, inkludert standard rekvisitter og typechecking med Proptyper. Rekvisitter er objekter som sendes fra en komponent til en annen (for eksempel fra en overordnet komponent til en barnekomponent). Hvis uansett grunn vi ikke klarer å passere rekvisitter til barnet komponent, kan vi bruke standard rekvisitter i barnet komponent for å holde app fra å bryte. Prøven app for denne bloggen er vist nedenfor og github repo er her.
eksempelappen har en hoved / overordnet komponent kalt app.js (vist nedenfor) og de to brukerdefinerte komponentene; Emne.js Og Budskap.js
import React from "react";
import "./App.css";
import Message from "./components/Message";
import Subject from "./components/Subject";function App() {
return (
<div className="App">
<Message name={"Paul"} age={12} sport={"Soccer"}>
<Subject subjects={} />
</Message>
</div>
);
}
export default App;
Standard Rekvisitter
i en klasse komponent standard rekvisitter kan enten defineres i klassen som statisk objekt som vist nedenfor,
class Message extends Component {
static defaultProps = {
name: "Eric",
age: 10,
sport: "Soccer",
}
render() {
return (
<div>
</div>
)
}
}
eller utenfor klassen som vist nedenfor
class Message extends Component {
render() {
return (
<div>
</div>
)
}
}
Message.defaultProps = {
name: "Eric",
age: 10,
sport: "Soccer",
}
i funksjonell komponent kan standardverdiene innføres ved hjelp av standardargumenter syntaks som så
function Message({name="Eric",age"=10, sport ="Soccer"}){
return(
<div>
</div>
)
}
vi kan også bruke Message.defaultProps={}
vist ovenfor.
Proptyper
Proptyper er En React props validering funksjon . Med PropTypes kan vi spesifisere datatypen rekvisitter som vist nedenfor. for eksempel kan vi sende navn, sport og sport rekvisitter til En forekomst Av Meldingskomponenten; <Message name={"Eric} age={10} sport={"Soccer"} />
. navn, sport er både streng datatype og alder prop er et tall datatype. Når en feil verdi er oppgitt for en prop, vises en feil i konsollen
Message.propTypes = {
name: PropTypes.string,
age: PropTypes.number,
sport: PropTypes.string,
};
I React kan en komponent ha en, mange eller ingen barn. Dette barnet kan Være Et React-element eller en streng eller en annen datatype. Med PropTypes.element
kan vi spesifisere at bare et enkelt barn kan sendes til en komponent som barn. Videre må det enkelte barnet Være Et React-element; det kan være et vanlig JSX-element (React-elementer som representerer DOM-koder) eller en Annen React-komponent, men det kan ikke være en streng. Med PropTypes.element
vises ingen advarsel på konsollen hvis Ingen React-element er bestått. Men med PropTypes.element.isRequired
krever vi at et enkelt barn er bestått; Message.propTypes={children: PropTypes.element.isRequired}
Men før vi bruker PropTypes.element
må vi bruke this.props.children
I Meldingskomponenten. this.props.children
— en spesiell prop som sendes til komponenter automatisk
class Message extends React.Component {
render() {
let name = this.props.name;
let age = this.props.age;
let sport = this.props.sport;
let children = this.props.children;
return (
<div>
<h3>
My name is {name}, I am {age} old and I love playing {sport}{" "}
</h3>
<div>{children}</div>
</div>
);
}
}
Sammendrag
Vi har vist hvordan du bruker standard rekvisitter og hvordan du gjør typechecking På React rekvisitter med Proptyper. Vi har også diskutert en Spesiell React prop- this.props.children