«TS7017: элемент неявно имеет тип« любой »... не имеет подписи индекса», когда я использую реагирующую группу - PullRequest
0 голосов
/ 18 февраля 2019

Вот мой код:

 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.

Однако я получаю эту ошибку:

ошибка TS7017: Элемент неявно имеет тип 'any', потому что тип '{input: {opacity: number;};введено: {непрозрачность: число;};} 'не имеет подписи индекса.

Ошибка указывает на ...transitionStyles[state] выше

Я не понимаю, почему возникает эта ошибка.Что вызывает ошибку этого типа?

1 Ответ

0 голосов
/ 18 февраля 2019

Я наконец исправил это, изменив transitionStyles на

const transitionStyles: { [id: string]: React.CSSProperties } = {
  entering: { opacity: 1 },
  entered:  { opacity: 0 },
};
...