2017-04-15 2 views
0

Excusez la question de débutant, je me bats à travers la compréhension/l'intégration de flowType dans mon projet de réaction/redux.FlowType - Répétition de la déclaration d'objets complexes

Ma question est, devons-nous nous répéter (avec des types déclarants), quand nous déclarons des propriétés qui contiennent des propriétés déjà déclarées (ailleurs)?

Pour élaborer, j'ai des fonctions d'ordre supérieur, qui filtrent à travers les accessoires de sorte que la fonction action-creator pertinente est appelée avec des arguments pertinents. Voici une fonction HO, qui prend 4 objets comme arguments. Juste en mettant l'accent sur le premier: envProps

son code est le suivant:

type envProps = { 
    eCCurSelectedEle : string, 
    renderTab : string, 
    target : { 
     pos : string, 
     // collection is an object containing dynamically 
     // inserted template objects with sub-objects. How would 
     // I handle this? Do I have to break-down each object 
     // property in this 'collection' & declare its inner 
     // prop types and so on? 
     collection : Object 
    }, 
    targetPos : { 
     h : number, 
     w : number, 
     pageX : number, 
     pageY : number 
    }, 
    toolbarCtrl : string 
}; 

// just focusing on the first prop: envProps 
export const svgMouseDownHandler = (envProps : envProps, 
               svgProps, 
               target, 
               prevSelectedTarget) => { 
... 

Dois-je déclarer chaque type de propriété dans chaque argument, même si ce bien a été déclaré ailleurs? Comment traiterais-je des objets dynamiques?

Merci,

Répondre

2

Vous pouvez diviser sur chaque type comme ça, et vous pouvez l'utiliser séparément au besoin. En ce qui concerne les objets dynamiques, Flow peut comprendre certains modèles dynamiques, mais ce que vous avez demandé est très large. Je pense qu'il serait préférable d'afficher une question distincte pour cela avec un exemple précis.