`h` props to behave more like React
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript
- Ambito
- frontend
Direzione di ricerca
Non vengono indicati alcun file sorgente, test o punto di ingresso. Traccia come JSX chiama h quando props è null, quindi verifica che i componenti possano destrutturare props senza un fallback e copri il caso di props vuote; il lavoro è completato quando il pattern JSX mostrato non genera più errori.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hey @luwes. I have been building something with this library for 2 weeks now and it's been great so far.
But, I notice a bit of unusual pattern when building components using JSX.
Since JSX transpiler always pass null if props param is empty like:
// JSX
<Component>Hello</Component>
// Transpiled
h(Component, null, "Hello")
In Sinuous, you can't destructure props like this:
const Component = ({ name, intent, as, icon, onDrag, onDrop }) => {
// Do something with props
return (
<div>
...
</div>
)
}
It throws error simply because props is null.
So, you need to this instead:
const Component = (props) => {
let { name, intent, as, icon, onDrag, onDrop } = props || {}
// Do something with props
return (
<div>
...
</div>
)
}
In React you can do that, because React internally checks for null props and pass {} instead.
I plan to build a lot of components and this pattern is slightly annoying. Do you mind if I submit a PR?
Thank you
- Lingua principale
- JavaScript
- Stelle
- 1.1k
- Fork
- 34
- 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 luwes/sinuous
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Potentially buggy testApertabug help wanted
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
Tutte le issue di luwes/sinuous
Issue simili
-
admission-deferred priority: medium status: ready work-class: scoped
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
melodic-software/claude-code-plugins#10887 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 91/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni
-
enhancement ui-dashboard
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno