首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React-motion div嵌套

React-motion div嵌套
EN

Stack Overflow用户
提问于 2016-09-20 02:35:36
回答 2查看 301关注 0票数 0

这是来自github的demo0-simple-transition的代码。Link如何将内容添加到移动的div元素。我希望使用它的一个变体来运行一个弹出菜单,但似乎不知道如何将内部内容放入其中。谢谢

代码语言:javascript
复制
import React from 'react';
import {Motion, spring} from '../../src/react-motion';

const Demo = React.createClass({
  getInitialState() {
return {open: false};
  },

  handleMouseDown() {
this.setState({open: !this.state.open});
  },

  handleTouchStart(e) {
e.preventDefault();
this.handleMouseDown();
  },

  render() {
return (
  <div>
    <button
      onMouseDown={this.handleMouseDown}
      onTouchStart={this.handleTouchStart}>
      Toggle
    </button>

    <Motion style={{x: spring(this.state.open ? 400 : 0)}}>
      {({x}) =>
        // children is a callback which should accept the current value of
        // `style`
        <div className="demo0">
          <div className="demo0-block" style={{
            WebkitTransform: `translate3d(${x}px, 0, 0)`,
            transform: `translate3d(${x}px, 0, 0)`,
          }} />
        </div>
      }
    </Motion>
  </div>
);
  },
});

export default Demo;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-20 02:45:48

这就是从React Motion组件返回的内容-

代码语言:javascript
复制
<div className="demo0">
  <div className="demo0-block" style={{
        WebkitTransform: `translate3d(${x}px, 0, 0)`,
        transform: `translate3d(${x}px, 0, 0)`,
      }} />
    </div>

在React中,如果<div>没有子级,则可以将其编写为<div/>。要插入子元素,请将其转换为普通的HTMLdiv格式:<div>{children}</div>

在您的情况下,这将是:

代码语言:javascript
复制
<div className="demo0">
       <div className="demo0-block" style={{
        WebkitTransform: `translate3d(${x}px, 0, 0)`,
        transform: `translate3d(${x}px, 0, 0)`,
      }} >
  {/* Children elements here */}
  </div>
</div>
票数 1
EN

Stack Overflow用户

发布于 2016-09-21 22:03:18

汤姆再次感谢你。您的答案是99%正确,但不需要大括号{}。你只需要关闭打开的div标签>。并正常关闭div。然后开始在里面添加元素,如下所示。(也许这就是您的实际意思,Brace只是为了演示。如果这是真的- 100%正确)

代码语言:javascript
复制
<Motion style={{x: spring(this.state.open ? 400 : 0)}}>
  {({x}) =>
    // children is a callback which should accept the current value of
    // `style`
    <div className="demo0">
      <div className="demo0-block" style={{
        WebkitTransform: `translate3d(${x}px, 0, 0)`,
        transform: `translate3d(${x}px, 0, 0)`,
      }}>
               <div><h1>Lots of stuff can go in here      
                              here now!</h1></div>
          </div>
  }
</Motion>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39579918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档