MovGP0 | Über mich | Hilfen | Artikel | Weblinks | Literatur | Zitate | Notizen | Programmierung | MSCert | Physik |
React
- Framework für UI
// Bootstrappingconst mountNode = document.getElementById('example');const element = <HelloMessage />;ReactDom.render(element, mountNode); // short: ReactDom.render(<HelloMessage />, document.getElementById('example'));// Komponenteclass HelloMessage extends React.Component { render(){ return React.createElement('h1', null, 'Hello World!'); }}// Komponente als Funktion ohne JSXfunction HelloMessage(){ return React.createElement('h1', null, 'Hello World!');}// Komponente als Funktion mit JSXfunction HelloMessage(){ return <h1><Message name='World' /></h1>;}// Komponente mit Properties als Funktionfunction Message(props) { return <span>{'Hello, ' + props.name}</span>;}// Komponente mit Properties als Klasseclass Message extends React.Component { constructor(props){ super(props); this.state = {name: props.name}; } render() { return ( <div> Hello {this.state.name}! </div> ); }}
Properties
- Object-Deconstructor
export default function ChoiceBar({ title, count, percent}) { // deconstructor of ChoiceBar(props) // ... } ChoiceBar.propTypes = { title: React.PropTypes.string.isRequired, count: React.PropTypes.number.isRequired, percent: React.PropTypes.number.isRequired }
- Object-Spread-Operator
const myProps = { title: 'React introduction', underline: true, size: 24 } return <TitleComponent size={28} {... myProps} />; // size-property wird überschrieben
- Property Types
React.PropTypes. | Typ |
---|---|
bool, number, string | Basistyp |
func | Funktion/Lambda-Austruck |
node | Wert der von React geändert werden kann (number, number[], string, string[], ReactElement, ReactElement[]) |
element | ReactElement |
instanceOf(type) | Interface/Klasse |
array, arrayOf(type) | |
oneOf(typearray) | Wert, welcher ALLE im array angegebenen Typen darstellt |
oneOfType(typearray) | Wert, welcher EINE im Array angegebenen Typen darstellt |
object | |
objectOf(type) | Wert, welche die im Typ angegebenen Properties implementiert (auch ohne von diesem zu erben) |
shape | Objekt in beschreibender Form |
any | alles |
- Shape
Title.propTypes = { title: React.PropTypes.string.isRequired, font: React.PropTypes.shape({ size: React.PropTypes.number.isRequired, name: React.PropTypes.string }).isRequired }
State
- this.state ist per default undefined und kann erst verwendet werden, wenn dieser gesetzt wurde
- im Konstrukor mit
this.state = {...}
- in Funktionen mit
this.setState(...)
- im Konstrukor mit
this.setState(...)
darf nicht im Konstruktor aufgerufen werden- Aufruf von
this.setState(...)
erfolgt asynchron und rendert den DOM neu - wenn
this.state
direkt gesetzt wird, wird der DOM nicht neu gerendert
- Beispiele
// setting state directlythis.setState({ title: 'Hello World', underline: false });// setting state with lambda method this.setState((currentState, currentProperties)) => ...);// callback when state got changedthis.setState(..., () => OnStateChangedCompleted()); // may use lifecycle method 'componentDidUpdate' instead
Weblinks
- React. In: GitHub. Facebook, 9. Juni 2015, abgerufen am 17. März 2017 (englisch).
- Jack Hsu: React Contexts and Dependency Injection. 9. Juni 2015, abgerufen am 17. März 2017 (englisch).
- Nil Schartmann: Simple React example for the React Buch. In: GitHub. Abgerufen am 17. März 2017 (englisch).
|}
🔥 Top keywords: Wikipedia:HauptseiteSpezial:SucheFußball-Europameisterschaft 2024Sabine DöringKylian MbappéSpecial:MyPage/toolserverhelferleinconfig.jsAntoine GriezmannRalf RangnickFußball-EuropameisterschaftDomenico TedescoJodie DevosFußball-Europameisterschaft 2021Marko ArnautovićBastian SchweinsteigerDavid AlabaRomelu LukakuListe der größten AuslegerbrückenFußball-Weltmeisterschaft 2022SlowakeiMatija ŠarkićChristoph KramerStraßenbahnunfall in der Grüne (Iserlohn)Fußball-WeltmeisterschaftN’Golo KantéÖsterreichische BundeshymneFußball-Weltmeisterschaft 2026Aufstand vom 17. Juni 1953Der Garten der Finzi ContiniAlmuth SchultMarcel Sabitzer17. JuniDidier DeschampsHauptseiteChatGPTWikipedia:Wiki Loves Earth 2024/DeutschlandUrsula von der LeyenSchmökerJosef FritzlBettina Stark-Watzinger