【问题标题】:why are initial items not transitioned out using useTransition为什么初始项目没有使用 useTransition 过渡出来
【发布时间】:2019-08-23 15:36:47
【问题描述】:

我正在使用 react-spring 的 useTransition 在页面之间进行转换,如下所示:

    const context = useContext(AppContext);
    const items = [context.page];
    const transitions = useTransition(items, item => item.label, {
        initial: {
            transform: 'translate3d(0,0,0)',
            opacity: 0.2,
        },
        from: {
            transform: 'translate3d(100%,0,0)',
            opacity: 1,
        },
        enter: { transform: 'translate3d(0,0,0)', opacity: 1 },
        leave: { transform: 'translate3d(-100%,0,0)', opacity: 1 },
    });

    return (
        <div className="app-content">
            {transitions.map(({ item, props, key }) => (
                <animated.div key={key} style={props}>
                    {renderPage(item.label)}
                </animated.div>
             )}
        </div>
    );
...

初始页面使用“初始”样式正确呈现,但未使用“离开”样式过渡。导航到其他页面后,它们都会按应有的方式进行转换,甚至是返回时的初始页面。

那么,如何让初始页面像其他页面一样过渡出来?

编辑:添加了 codesandbox 以显示问题。

【问题讨论】:

  • 您能否为您遇到的问题创建一个代码框
  • codesandbox更新了描述

标签: javascript reactjs react-hooks react-spring


【解决方案1】:

如果我正确理解您的意图,您可以将初始对象中的transform 设置为从-0% 开始:

initial: {
  transform: "translate3d(-0%,0,0)",
  opacity: 0.2
},

【讨论】:

    猜你喜欢
    • 2021-07-25
    • 2015-02-20
    • 2012-07-28
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 2022-09-27
    相关资源
    最近更新 更多