卡在react弹簧中滑下不起作用

IT技术 javascript reactjs react-spring
2021-05-10 04:18:53

我是新来的,我正在尝试使用 react-spring 向下滑动我的 div 元素。但是,向下滑动效果不起作用。我在教程中看到了这一点,并试图实现它,但它不起作用。

这是我的代码:

<Spring from={{ opacity: 0, marginTop: -500 }} to={{ opacity: 1, marginTop: 0 }}>
          {props => (
            <div style={props}>
              <div style={{ display: cost ? 'block' : 'none' }}>
              <Card className="calculation shadow">
                <CardBody>
                  <div style={{ borderTop: '2px solid #000 ', marginLeft: 20, marginRight: 20 
                   }}></div>
                  <Row style={{ float: 'right', marginBottom: '1rem' }}>
                    <span style={{ float: 'right' }}>
                      <FontAwesomeIcon icon={faClipboardList} onClick={this.handler} />
                    </span>
                  </Row>
                  
                  <div style={{ borderTop: '2px solid #000 ', marginLeft: 20, marginRight: 20 
                    }}></div>
                </CardBody>
              </Card>
              </div>
            </div>
          )}
        </Spring>

我如何使它工作,以便在单击按钮时 div 组件向下滑动?请帮忙

2个回答

您没有将动画样式传递给animated.div. 这意味着弹簧的props不会为您的组件设置动画。

此外,因为您是在单击时触发动画。我将设置动画值 - opacity & marginTop 作为状态变量。然后,onClick您可以处理程序上更新触发动画更改的状态。

此处查看 Spring 文档

了解更多信息,这里有一个代码沙盒

我发现解决方案一切都很好,不需要动画 div 我只需要将 react-spring 的版本更改为 npm i react-spring@8.0.20 并且它可以工作