I componenti di Reazione dividono concettualmente i loro dati in puntelli, dati immutabili passati dal loro genitore e stato, dati mutabili mantenuti localmente. Una cosa che mi piace di React è il suo supporto per il controllo di tipo limitato sotto forma di propTypes. Perché non esiste un concetto simile per lo stato (ad esempio stateTypes)?Perché React.js non ha stateTipi?
risposta
L'utilizzo dei cosiddetti stateTypes non offre molti vantaggi.
Come l'ufficiale Reagire sito dice di propTypes:
Come la vostra applicazione cresce è utile per garantire che i componenti sono utilizzati in modo corretto.
La cosa importante da ricordare è che propTypes controlla se hai superato i dati corretti per l'elemento corrente nel luogo in cui si esegue il rendering di questo componente. È possibile riutilizzare il componente tutte le volte che si desidera, quindi potrebbe facilmente accadere che si è dimenticato di passare ad esso proprietà appropriate.
Pertanto, il controllo dei dati trasmessi da "altra origine" è più importante e più vantaggioso del controllo dei dati che si utilizzano appena si scrive il componente stesso. Se si potesse lavorare con le informazioni provenienti dallo stato da qualche altra parte, che non è possibile, varrebbe la pena utilizzarle.
In ogni caso, è tutto solo uno strumento pratico per uno sviluppo più semplice, che deve essere disattivato nell'ambiente di produzione.
Conclusione: forse questa domanda è un po 'basata sulle opinioni. Credo che l'uso di stateTypes non sarebbe di grande aiuto se dichiari il tuo stato nel costruttore (ES2015) o in getInitialState, e solo più righe sotto esattamente le stesse informazioni, solo sotto forma di stateTypes.
- 1. onmouseover non funziona con React.js
- 2. React.JS this.state non è definito
- 3. Perché SLComposeViewController non ha delegato?
- 4. Perché Rust non ha unioni?
- 5. React.js - Funzione superata "non a funzione" Errore
- 6. Elemento componente non valido in React.JS
- 7. Tooltip Bootstrap non funziona con react.js
- 8. evento "onDrag" non attivato in react.js
- 9. Abstraction in React.js
- 10. react.js - test forma componente
- 11. Perché Collections.Generic.Queue non ha il metodo sincronizzato ma Collections.Queue ha?
- 12. Perché "tutti?" ha '?' dove come "alcuni" non ha "?" in Clojure?
- 13. associazione chiave in react.js
- 14. TDD/BDD con React.js?
- 15. Perché React.js rimuove il tag srcset su <img />?
- 16. Perché SerializationInfo non ha i metodi TryGetValue?
- 17. Perché Array.prototype.reduce non ha un parametro thisObject?
- 18. Perché NSArray non ha un metodo firstObject?
- 19. Perché Scala non ha un decltype?
- 20. Perché enable_shared_from_this ha un distruttore non virtuale?
- 21. Perché Python non ha variabili statiche?
- 22. Perché .NET non ha un enumeratore bidirezionale?
- 23. Perché non Createfile() ha un flag binario
- 24. Perché UINavigationController non ha una proprietà rootViewController?
- 25. Perché Scala ha SeqView ma non SetView?
- 26. perché Java non ha un'importazione wildcard "profonda"?
- 27. Perché Tuple non ha un'istanza Monad?
- 28. Perché PHP non ha un costruttore predefinito?
- 29. Perché Map non ha un metodo mappa?
- 30. Perché Elixir non ha un modulo Math?
Sarebbe comunque bello essere avvisati quando si imposta uno stato con il tipo 'forma' errato. – seanmcl