Вот мой код:
renderSoundWave = () => {
const defaultStyle = {
opacity: 1,
transition: `opacity ${DURATION}ms ease-in-out`,
}
const transitionStyles = {
entering: { opacity: 1 },
entered: { opacity: 0 },
};
return (
<Transition timeout = {DURATION} in = {this.animate}>
{(state) => (
<div className = {styles.soundWaves}
style = {{ ...defaultStyle, ...transitionStyles[state]}}> {/* Error here! */
<SoundWaves/>
</div>
)}
</Transition>
);
}
Я хочу использовать Transition в react-transition-group для анимации значка SoundWave.
Однако я получаю эту ошибку:
error TS7017: Element implicitly has an 'any' type because type '{ entering: { opacity: number; }; entered: { opacity: number; }; }' has no index signature.
Ошибка указывает на ...transitionStyles[state] выше
Я не понимаю, почему выдается эта ошибка. Что вызывает ошибку этого типа?






Я наконец исправил это, изменив transitionStyles на
const transitionStyles: { [id: string]: React.CSSProperties } = {
entering: { opacity: 1 },
entered: { opacity: 0 },
};
Спасибо! Они должны указать это в документации.
Спасибо, что поделились!!