digdir / designsystemet

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

How do we solve interconnected component props? #2453

Open mimarz opened 1 month ago

mimarz commented 1 month 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 1 month ago

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

mimarz commented 1 month 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 1 month 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 1 month ago

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

mimarz commented 3 weeks ago

Have a look at this after #1943 and #2508