2017-07-19 5 views
-3

J'essaie d'écrire un opérateur ternaire avec l'opérateur spread et de migrer deux objets. Est-il possible d'utiliser un opérateur ternaire avec propagation à l'intérieur avec des objets littéraux? Mon code fonctionne bien, je veux juste l'optimiser.Opérateur Spread ES6 avec instruction

hintStyle: disabled ? {...globalStyles.hint, ...globalStyles.hintDisabled} : globalStyles.hint, 

Je veux écrire comme ceci:

hintStyle: {...globalStyles.hint, {disabled ? ...globalStyles.hintDisabled : {}}}, 
+3

Fonctionne-t-elle? Si non, avez-vous des erreurs? Si oui, quelles erreurs? Quelle est la question que vous posez? –

+0

Mon premier code fonctionne, comment utiliser l'opérateur spread es6 avec un opérateur ternaire à l'intérieur. L'erreur est 'jeton inattendu' –

+0

n'avez-vous pas besoin d'un opérateur de propagation avant '{désactivé? ... globalStyles.hintDisabled: {}} ' – danielspaniol

Répondre

4

propagation is not an operator, il fait partie de la syntaxe d'objet littéral (ou au moins ce sera quand la proposition est acceptée). Vous devez écrire

{...globalStyles.hint, ...(disabled ? globalStyles.hintDisabled : {})},