How to "dynamically" `connect` to different states with React/Preact?
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di developit/unistore
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 48/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 48/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Errors with WMRAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
Tutte le issue di developit/unistore
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/rocketmq-dashboard#6896 ·
I maintainer di solito rispondono entro 3 giorni
-
bug engine
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
frostney/GocciaScript#1746 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
SasanLabs/VulnerableApp#836 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
keyxmakerx/Chronicle#1469 ·
I maintainer di solito rispondono entro 1 giorno