import React from 'react'; import { Motion } from 'react-motion'; import { weakSpring } from 'weaveworks-ui-components/lib/utils/animation'; import Node from './node'; const transformedNode = (otherProps, { x, y, k }) => ( ); export default class NodeContainer extends React.PureComponent { render() { const { dx, dy, isAnimated, scale, ...forwardedProps } = this.props; if (!isAnimated) { // Show static node for optimized rendering return transformedNode(forwardedProps, { x: dx, y: dy, k: scale }); } return ( // Animate the node if the layout is sufficiently small {interpolated => transformedNode(forwardedProps, interpolated)} ); } }