React - props

0

Cześć mam mały problem dotyczący funkcji. Chcę przekazać funkcję "handleAddNewGroupBtn" przez props do funkcji w drugim komponencie i tam wywołać ją przez funckcje w drugim komponencie tu nazwałem go "Comp2", ale nie chce żeby był wyświetlany w Componencie 1 da się to jakoś zrobić ?. Nie wiem czy napisałem to zrozumiale z góry dzięki. :)

Component1

  handleAddNewGroupBtn = () => {
    console.log('dodano nowa grupę');
  }

  render() {
    return (
      <>
        <div className='wrap'>

          <div className="head">
            Wyszukiwarka
          </div>
          <div className="categories">
            Kategorie
          </div>
          <div className="main">
            <Comp2 add={this. handleAddNewGroupBtn}/> =====================> (tego tu ma nie być)
            <GroupList groupsList={this.state.groupsList} click={this.handleClickGroupIc} />
          </div>
        </div>
      </>
    )
  }
}

0

hmm jak dobrze rozumiem w komponencie Comp2 ma być wywoływana ta funkcja. Skoro komponent Comp2 nie ma się renderować w Twoim komponencie 1, a ta funkcja ma być wywoływana w Comp2, to chyba najprostszym rozwiązaniem będzie przekopiowanie tej funkcji do Comp2. Aha i mam pytanko co to za praktyka, że masz cały return komponentu zamknięty w <> i </> bo pierwszy raz takie coś widzę

2
Gustawiec napisał(a):

Aha i mam pytanko co to za praktyka, że masz cały return komponentu zamknięty w <> i </> bo pierwszy raz takie coś widzę

to się Fragments zowie

0

Tylko chodzi o to że ta funkcja ma się wykonywać w komponencie 1, bo będzie ona dodawać obiekt do tablicy czyli będzie zmieniać State w komponencie 1. Ale chce ją wywołać przyciskiem w Comp2.

0

Ja bym w Twoim wypadku pokombinował ze strukturą komponentów, żeby Comp1 było rodzicem Comp2 lub Comp2 było dzieckiem komponentu GroupList. Wtedy w Comp2 bym stworzył lokalny state gdzie by wpadały te obiekty co mówisz i przekazał propsy w góre https://love-coding.pl/jak-przekazac-dane-z-komponentu-dziecka-do-komponentu-rodzica-w-react-native/

0

Oki spróbuję, dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1