【问题标题】:How to make react-spring <Spring> replay animation?如何制作 react-spring <Spring> 重放动画?
【发布时间】:2020-07-28 17:17:20
【问题描述】:

我有一个简单的反应站点,显示来自饮料 API 的饮料。它基本上是这样工作的:当用户按下button 时,query 得到更新,fetchItems 运行并以这种方式显示项目

<Spring from={{ opacity: 0, marginTop: 100 }} to={{ opacity: 1, marginTop: 0 }} config={{ delay: 400 }}>
            {(props) => (
                <div style={props}>
                    {drinks
                        ? drinks.map((drink) => (
                              <DrinkCard
                                  title={drink.strDrink}
                                  image={drink.strDrinkThumb}
                                  alcohol={drink.strAlcoholic}
                                  category={drink.strCategory}
                              />
                          ))
                        : () => (
                              <div className="col-6 col-md-4 p-0">
                                  <h1>NO RESULTS</h1>
                              </div>
                          )}
                </div>
            )}
        </Spring>

目前,此动画仅在页面加载时工作一次。如何强制它在每次搜索时运行?

【问题讨论】:

    标签: reactjs spring react-spring


    【解决方案1】:

    您应该像这样将重置添加到您的Spring 组件:

      <Spring
        from={{ opacity: 0, marginTop: 100 }}
        to={{ opacity: 1, marginTop: 0 }}
        config={{ delay: 400 }}
        reset
      >
    

    这里是一个例子:https://codesandbox.io/s/dank-moon-sq7v9?file=/src/App.js:348-503

    【讨论】:

    • 它回答了你的问题吗?
    • 这可行,但它会在任何状态更改时重新运行动画。有没有办法选择哪个更改? (如 useEffect 依赖项)
    猜你喜欢
    • 1970-01-01
    • 2020-01-27
    • 2021-03-13
    • 2022-01-16
    • 2021-09-12
    • 2020-10-07
    • 2021-07-15
    • 2020-08-13
    • 1970-01-01
    相关资源
    最近更新 更多