используйте Animate.css в ReactJS с помощью response-animated-css

Я пытаюсь реализовать Animate.css в React, и в ходе своих исследований я нашел пакет react-animated-css, который кажется довольно простым, однако я не мог заставить его работать.

В документации (если это можно назвать документацией) было сказано, что пользователь должен включить Animate.css на HTML-страницу, я этого не делал, так как я работаю с React и HTML-страницы нет, но я установил animate.css через npm.

Вот пример моего кода:

import {Animated} from 'react-animated-css'

class ComponentTest extends Component {

  render () {

   return (
    <div>
      <Animated 
         animationIn="fadeInDown" 
         animationOut="zoomOut" 
         animationInDuration={1000} 
         animationOutDuration={1000} 
         isVisible={true}
      >
          <h1 style={{backgroundColor: 'red'}}>TESTE 1</h1>
      </Animated>
    </div>
   )
 }
}

Я также пытался установить isVisible динамически, используя состояние, но безуспешно:

import {Animated} from 'react-animated-css'

class ComponentTest extends Component {

  state = {animacao: false}

  toggleAnimation = () => {

     let animacao = !this.state.animacao
     this.setState({animacao})
  }

  render () {

   return (
    <div>
      <Animated 
         animationIn="fadeInDown" 
         animationOut="zoomOut" 
         animationInDuration={1000} 
         animationOutDuration={1000} 
         isVisible={this.state.animacao}
      >
          <h1 style={{backgroundColor: 'red'}}>TESTE 1</h1>
      </Animated>
      <button onClick={this.toggleAnimation} >Animação</button>
    </div>
   )
 }
}

Когда я проверяю свой компонент, я вижу, что классы применяются в обоих случаях:

введите описание изображения здесь

Вот страница пакета: https://www.npmjs.com/package/react-animated-css

Есть идеи, что я делаю не так?

P.S. Использование этого пакета не обязательно, я полностью открыт для предложений.


person Berg_Durden    schedule 01.07.2020    source источник
comment
Вам необходимо подключить файл animate.css. Запуск npm install не сделает этого за вас. Вы можете добавить его в свой index.html (он есть в приложениях React в общей папке); импортировать в другой файл css, который включен где-то в вашем приложении, с помощью css @import; или если ваше приложение основано на приложении create-response-app, вы можете импортировать его прямо в файл компонента.   -  person jme11    schedule 01.07.2020
comment
Вы должны включить: <head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css"> </head> в ./public/index.html файл.   -  person Darsh Shah    schedule 01.07.2020
comment
Вы оба правы. Работает отлично. Большое Вам спасибо.   -  person Berg_Durden    schedule 01.07.2020


Ответы (1)


Если вы используете create-react-app, просто импортируйте анимированный css, как этот import 'animate.css', в свой App.js файл. Надеюсь, это сработает для вас.

person Uddesh Jain    schedule 28.09.2020