memoize((key: keyof IProfileData) => (state: RootStateType): IProfileData[key] => state.profile.data[key]);
                  
                  
                  
                  
                  
                  ?
                  
                  
                  
                  
                  
                  Это нерабочий код именно из-за IProfileData[key] – написал для понимания, что нужно.
                  
                  
                  
                  
                  
                  То есть, значение аргумента функции должно стать ключом для выбора типа конкретного поля.
                  
                  
                  
                  
                  
                  Я понимаю, что это маловероятно, хотя бы потому, что TS компилируется перед тем, как интерпретируется JS, но возможно алтернативный TS вариант?
                  
                  
                
Дженерики export const profileSelectorData = memoize(<Key extends keyof IProfileData>(key: Key) => (state: RootStateType): IProfileData[Key] => state.profile.data[key]); что-то вроде такого
Обсуждают сегодня