2015-07-04 32 views
6

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

6

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.

+4

Sarebbe comunque bello essere avvisati quando si imposta uno stato con il tipo 'forma' errato. – seanmcl

Problemi correlati