Редукс с $ObjMap

const ACTION1: "ACTION1" = "ACTION1";
const ACTION2: "ACTION2" = "ACTION2";

const ACTIONS = {
  a: () => ({ type: ACTION1, payload: { num: 1 } }),
  b: () => ({ type: ACTION2, payload: { str: "A" } })
};

function reducer(action: $Values<$ObjMap<typeof ACTIONS, <R>(() => R) => R>>): string {
  switch (action.type) { // any | "ACTION1" | "ACTION2"
    case ACTION1:
      return "" + action.payload.num; // any | number
    case ACTION2:
      return "" + action.payload.str; // any | string
    default:
      ;(action.type: empty)
      return "";
  }
}

https://flow.org/try/#0MYewdgzgLgBAggYQCoEkDyA5AjALhgIkVUy3xgF4Cj1t8BuAKFElmswCY9Dkb2zLuxDH0ZNw0eD0wBlCjADeDGDACGeABQBKCgD4Y6+TCgBPAA4BTPG2wAaGKZXGANiBUATPIbABXALZ4sGABfYM0bJRgAIw1tcj0DIzNLSSF2OwdnVw8FGGgAJy44MhCgzQYg0QAzbzBgKABLcBg88zdvYHM89RU6xrA8ABIANRUnb3MIAB4BtEiAKwBZFVNJkwsQSpSaaTtJgCUddS1dGD3YvQOdTTx8+rAAcwUInobwCIgAd3qoYAALfRefQAdGtzNpFMplMAVBBzFsSDgIpDmuYoN48mACGQANSqXrgIEZFzuIE+XyMZHQ2Hw4SI5HKFpojFYmC4wEEolZIH5CmQtzmSoqbxOKB0+l0br4sAgpJ4cy+UwmMr0lFMzH4egRILlBhAA

Что не так с этим кодом?

Не могли бы вы добавить, какие проблемы у вас есть с этим фрагментом кода, так как в этом фрагменте нет ошибок потока, поэтому трудно сказать, какую проблему нужно решить?

frontendgirl 14.02.2019 14:48

Он решает объединиться с any

Goodmind 09.03.2019 22:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
25
0

Другие вопросы по теме