Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Návod na react - nechápu constructor

Aktivity
Avatar
tbartolen
Člen
Avatar
tbartolen:20.4.2020 20:44

Ahoj, procházím si návod na react. Vše je mi jasné, až na jednu věc, kterou nedokážu pochopit.

https://www.itnetwork.cz/…t-kalkulacky
Ve třetí lekci přidá do souboru numberInput.js tento kód :

import React, { Component } from 'react';

export default class NumberInput extends Component {
    constructor(props) {
        super(props);
        this.state = { value: this.props.value };
        this.handleChange = this.handleChange.bind(this);
    }

    handleChange(event) {
        const value = event.target.value;
        this.setState({ value });
        this.props.onChange(Number(value));
    }

    render() {
        const { name, label } = this.props;

        return (
            <label htmlFor={name}>
                {label}
                <input id={name} type="number" name={name} required
                    value={this.state.value}
                    onChange={this.handleChange} />
            </label>
        );
    }
}

A napíše k tomu vysvětlení:
Paráda, podařilo se nám synchronizovat náš stav s hodnotou v <input>u. Tedy když teď do něj něco napíšeme, dojde k zavolání metody handleChange() a následné aktualizaci vnitřního stavu komponenty.

Pokud vím dobře, tak konstruktor by měl sloužit k vytvoření objektu a volat se někde přes

new NumberInput ()

Zkusil jsem: Ale tady se nikde nevolá, nikde se nepoužije...nechápu to. Co mi uniká, co se mám doučit ? Zkoušel jsem si projít návody na constructory v JS a ECMA6, ale nikde nenacházím smysl.
Zdebugovat mi to také moc nejde....

Chci docílit: Pochopit react a JS

Děkuji za radu

Editováno 20.4.2020 20:44
Odpovědět
20.4.2020 20:44
Navštiv www.fb.com/skkelticz
Avatar
Odpovídá na tbartolen
Martin Havelka:20.4.2020 22:10

Ahoj,
Hele.. v reaktu jsem nikdy nedělal, ale ta třída dědí z třídy component.. je to pravděpodobně něco jako stavební blok reaktu. Ber to tak, že ty když si chceš vytvořit komponentu.. aby něco dělala, tak vytvoříš třídu, kterou oddědíš z component (interní třída reactu) a rect sám jí pak při běhu vytvoří (zavolá tvůj konstruktor) a nějak s ní pracuje.
Kdyžtak mě někdo kdo to zná opravte

 
Nahoru Odpovědět
20.4.2020 22:10
Avatar

Člen
Avatar
Odpovídá na tbartolen
:21.4.2020 9:44

Čo Ti uniká je to, že kód ktorý píšeš nie je výsledný kód ktorý bude zahrnutý do stránky. Výsledný kód získaš až po vybuildovaní projektu. A počas build procesu sa do výsledného kódu pripne aj kód React frameworku, ktorý tie nové objekty vytvorí za Teba. Automaticky. A to len vtedy, keď bude ten komponent potrebný - napríklad keď sa prepneš na stránku ktorá ten komponent využíva. A ty predsa nevieš či a kedy sa niekto na danú stránku prepne, preto samozrejme, že tam nikde nevidíš, že by sa tá trieda použila. To robí React sám, to je tá mágia zahrnutá v tomto frameworku.

 
Nahoru Odpovědět
21.4.2020 9:44
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.