digdir / designsystemet

Designsystemet
https://designsystemet.no
MIT License
76 stars 37 forks source link

How do we solve interconnected component props? #2453

Open mimarz opened 1 week ago

mimarz commented 1 week ago

Work in progress writing description, but will outline different approaches we have tried and potential other ways of solving inter-connected component props in React.

  1. .Root
  2. .Context
  3. "Hooks" instead of Context, like react-aria useTextfield

Notes:

eirikbacker commented 4 days ago

Også relevant: https://designsystemet.slack.com/archives/C07K7NEKXEW/p1726745135430249 ...skal vi prøve å unngå useContext helt der mulig?

mimarz commented 4 days ago

Også relevant: https://designsystemet.slack.com/archives/C07K7NEKXEW/p1726745135430249 ...skal vi prøve å unngå useContext helt der mulig?

Why not both?

Men ja, det var derfor jeg opprettet dette issuet slik at vi kan iterer på .Context tilnærmingen og om den fortsatt føles grei eller ikke.

Da vi snakket om det første gang så trodde jeg vi skulle flytte hele contexten opp til .Context komponenten. Da fikk et tydelig indikasjon på hvor konteksten er og om du ikke bruker den så må du wire-up ting selv + støtte for react server components.

mimarz commented 4 days ago

En annen ting som vi må undersøke er om det finnes komponenter som aldri kommer til å fungere uten React Context og hvordan vi stiller oss til det.

mimarz commented 3 days ago

Circumstances for this issue can be affected by outcome of #2508