Wpis z mikrobloga

@klamkaodokna: wklej najlepiej jakiś prawdziwy przykład. Jak masz komponent A i w nim wywołujesz B:

to cokolwiek dasz w propsach np. to wtedy:
const B = (props) => {}
będzie props.isSelected lub możesz od razu to zdestructować
const B = ({isSelected}) => {}

No i analogicznie jak w B wywołujesz C to jak wybrałeś wyżej opcję z const B = (props) => {} to:

i wtedy w C masz dokładnie to
wklej najlepiej jakiś prawdziwy przykład. Jak masz komponent A i w nim wywołujesz B:


@Rst00: ok, juz bez zmieniania na reactowa nomenklature, zebym czegos nie pomylil w trakcie:
A, B, C to odpowiednio App, Replayer, Table
App zwraca - gdzie model to obiekt utworzony w App
function Replayer(model) {}
zwraca

gdzie progress to zmienna modyfikowana hookiem w Replayer

function Table(model, progress) <- progress okazuje sie pustym obiektem. obstawiam, ze to w
@klamkaodokna: no tak, bo propsy są w pierwszym argumencie funkcji więc tak naprawdę zamiast

function Table(model, progress)
powinieneś mieć

function Table(props) - tak naprawdę zamiast props możesz wstawić cokolwiek innego, bez znaczenia

i wtedy byś miał props.progress i props.jakisPropsApp.

Zobacz na przykładzie:

App
const model = {
isSelected: true,
isInited: true,
}

i teraz
function Replayer(model)

i dalej

function Table(model)
i wtedy masz tam model.isSelected, model.isInited, model.progress
@Rst00: dzieki wielkie :) a jak wg nomenklatury powinienem "rozbić" te propsy? bo co prawda tak jak podałes działa, ale model i progress to sa dwie zupełnie odmienne sprawy i jak mam jeden "włożony do drugiego" to mi to źle wpływa na myslenie o strukturze programu - function Table({model, progress}) nie dziala - model wtedy jest undefined
@klamkaodokna: nie, z nomekulaturą chodziło mi o to że Ty mówiłeś od samego początku "obiekt", "model" itd. a przyjęło się że wszystkie właściwości są nazywane propsami i najlepiej oznaczać to w kodzie właśnie jako "props" pomimo że może być tam dowolna inna nazwa. Musisz po prostu zrozumieć że React wszystkie atrybuty komponentu pakuje do wspólnego worka i przekazuje jako jeden argument funkcji a nie kilka. Dając:
obie te zmienne są pakowane
@Rst00: ok, no ale jak mam

to nie za bardzo mi pasuje pakowac pogode jako jedna ze zmiennych w obiekcie samochodu. a tak jak pisalem:

function Table({model, progress}) nie dziala - model wtedy jest undefined


czyli w nowym przykładzie
function A({car, weather}) <- wlasciwie obydwa sa undefined ¯\_(ツ)_/¯
wiec jak to najładniej rozbić?