Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

How to "dynamically" `connect` to different states with React/Preact?

Aperta
#195 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
javascript, react
Ambito
frontend

Direzione di ricerca

L’issue nomina la connect API, uno store con stato dinamico field_${id} e l’esempio MyComponent, ma non indica file o test. Inizia tracciando l’entry point di connect e il suo comportamento di sottoscrizione; il lavoro sarebbe completato con un approccio documentato o testato per collegare un componente solo allo stato selezionato dinamicamente, senza rerender non necessari.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I see that connect can be used like this:

connect( [ 'var1', 'var2' ], actions )

Which works well... however I want to init a component, and pass the state name into it somehow...

The problem: I have a store, which based on user interaction (from the dom) will create a new state object eg state.field_${id}, and then dynamically render a Preact component... I want to pass down the state name / ID into a preact component/wrapper so it can connect to its own state object - field_${id},

The only thing I can think of, is to just connect it to the whole state, pass in the ID, and then filter that out manually...

const allState = ( state ) => {
	return state;
};
export const MyComponent = connect(
	allState,
	actions
)( ( props ) => {
        const myState = props[ `field_${ props.id }` ];
	return <>...</>;
} );

But it doesn't sit right with me, and the component would naturally re-render on any state change rather the part we're after... .

Is this possible / are there any other approaches I might have missed?

Thanks!

Lingua principale
JavaScript
Stelle
2.8k
Fork
134
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di developit/unistore

Tutte le issue di developit/unistore

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.