使用om显示隐藏的div(/ react)

使用om显示隐藏的div(/ react)

问题描述:

使用Om,我已经设置了一个组件,当用户按下按钮时,我想要显示它。效果应该是从滑入div 。在Om项目中构建这个最好的方法是什么?使用om显示隐藏的div(/ react)

我不能做喜欢的事,哈克:

(let [the-div (. js/document (.getElementById "the-div"))] 
    (.setAttribute dashboard "width" "500px")) 

因为我觉得OM设置组件的影子DOM,我得到一个错误:Cannot read property 'style' of null

任何人都可以指出我达到这个效果的正确方向吗?程序结构或任何提示将不胜感激。

简短的回答是指定组件中的宽度作为状态的函数,并更改状态。

[:div {:style {:width (if big? "500px" "0px")}}] 

或者只是有条件地呈现它,或者使用类等

当涉及到动画,使得它在幻灯片,事情有点棘手...... 可以使用CSSTransitionGroup Creating animations with Clojurescript Om

个人而言,我觉得太CSSTransitionGroups繁琐,并且更喜欢一个更直接的声明的方式 http://timothypratley.github.io/reanimated/#!/timothypratley.reanimated.examples 的基础复活是奥妙非常简单,并且可以为om重新创建......它将每个渲染状态更新为目标目标,然后停止。