React-Animate: anim react element easily

rc-animate


Animate React Component easily.

NPM version build status Test coverage Dependencies DevDependencies npm download bundle size

Install

rc-animate

Usage

import Animate from 'rc-animate';

export default () => (
  <Animate animation={{ ... }}>
    <p key="1">1</p>
    <p key="2">2</p>
  </Animate>
);

Compatibility

IE / Edge
IE / Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Electron
Electron
IE11, Edge last 2 versions last 2 versions last 2 versions last 2 versions

API

props

name type default description
component React.Element/String 'span' wrap dom node or component for children. set to '' if you do not wrap for only one child
componentProps Object {} extra props that will be passed to component
showProp String using prop for show and hide. [demo](http://react-component.github.io/animate/examples/hide-todo.html)
exclusive Boolean whether allow only one set of animations(enter and leave) at the same time.
transitionName String|Object specify corresponding css, see ReactCSSTransitionGroup
transitionAppear Boolean false whether support transition appear anim
transitionEnter Boolean true whether support transition enter anim
transitionLeave Boolean true whether support transition leave anim
onEnd function(key:String, exists:Boolean) true animation end callback
animation Object {} to animate with js. see animation format below.

animation format

with appear, enter and leave as keys. for example:

  {
    appear: function(node, done){
      node.style.display='none';
      $(node).slideUp(done);
      return {
        stop:function(){
          // jq will call done on finish
          $(node).stop(true);
        }
      };
    },
    enter: function(){
      this.appear.apply(this,arguments);
    },
    leave: function(node, done){
      node.style.display='';
      $(node).slideDown(done);
      return {
        stop:function(){
          // jq will call done on finish
          $(node).stop(true);
        }
      };              
    }
  }

Development

npm install
npm start

Example

http://localhost:8200/examples/index.md

online example: http://react-component.github.io/animate/examples/

Test Case

npm test
npm run chrome-test

Coverage

npm run coverage

open coverage/ dir

License

rc-animate is released under the MIT license.

Comments

  • Installing dependencies on fresh clone => `ReferenceError: primordials is not defined`
    Installing dependencies on fresh clone => `ReferenceError: primordials is not defined`

    Aug 26, 2019

    Steps to reproduce:

    • Clone project
    • Run npm install

    What happened: The republish script was run, resulting in this error:

    npm WARN prepublish-on-install As of [email protected], `prepublish` scripts are deprecated.
    npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
    npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.
    
    > [email protected] prepublish /Users/holgerfrohloff/projects/OSS/animate
    > rc-tools run guard
    
    (node:8838) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit
    rc-tools run guard
    fs.js:27
    const { Math, Object } = primordials;
                             ^
    
    ReferenceError: primordials is not defined
        at fs.js:27:26
        at req_ (/Users/holgerfrohloff/projects/OSS/animate/node_modules/natives/index.js:143:24)
        at Object.req [as require] (/Users/holgerfrohloff/projects/OSS/animate/node_modules/natives/index.js:55:10)
        at Object.<anonymous> (/Users/holgerfrohloff/projects/OSS/animate/node_modules/graceful-fs/fs.js:1:37)
        at Module._compile (internal/modules/cjs/loader.js:774:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
        at Module.load (internal/modules/cjs/loader.js:641:32)
        at Function.Module._load (internal/modules/cjs/loader.js:556:12)
        at Module.require (internal/modules/cjs/loader.js:681:19)
        at require (internal/modules/cjs/helpers.js:16:16)
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] prepublish: `rc-tools run guard`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] prepublish script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /Users/holgerfrohloff/.npm/_logs/2019-08-26T09_18_16_243Z-debug.log
    

    To solve this error for me locally, I removed the prepublish script from the package.json.

    Reply
  • fix: shoud determine whether the component is react.Fragment
    fix: shoud determine whether the component is react.Fragment

    Feb 17, 2020

    React.Fragment has only one key property, we need to add judgement, we cannot pass other properties to React.Fragment.

    example: image

    Reply
  • Bump rc-tools from 8.4.5 to 9.6.1
    Bump rc-tools from 8.4.5 to 9.6.1

    Mar 12, 2020

    Bumps rc-tools from 8.4.5 to 9.6.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    Reply
  • UNSAFE_componentWillReceiveProps
    UNSAFE_componentWillReceiveProps

    Jun 5, 2020

    Screenshot 2020-06-06 at 5 16 59 AM

    Getting this warning. I'm not using the rc-animate library.

    Reply
  • findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of AnimateChild
    findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of AnimateChild

    Jun 5, 2020

    Screenshot 2020-06-06 at 5 19 45 AM

    Whenever I remove the Alert component from it's closeable icon I get this warning. What might be going wrong on my end?

    Reply
  • index.d.ts is not in the published package.
    index.d.ts is not in the published package.

    Jul 10, 2020

    There is a typedef file in the source of the project but it doesn't end up in the npm package so my code can't import it.

    Contents of installed package:

    [email protected] 0 % find node_modules/rc-animate
    node_modules/rc-animate
    node_modules/rc-animate/LICENSE.md
    node_modules/rc-animate/HISTORY.md
    node_modules/rc-animate/README.md
    node_modules/rc-animate/package.json
    node_modules/rc-animate/lib
    node_modules/rc-animate/lib/util
    node_modules/rc-animate/lib/util/animate.js
    node_modules/rc-animate/lib/util/motion.js
    node_modules/rc-animate/lib/util/diff.js
    node_modules/rc-animate/lib/Animate.js
    node_modules/rc-animate/lib/CSSMotionList.js
    node_modules/rc-animate/lib/AnimateChild.js
    node_modules/rc-animate/lib/CSSMotion.js
    node_modules/rc-animate/lib/ChildrenUtils.js
    node_modules/rc-animate/es
    node_modules/rc-animate/es/util
    node_modules/rc-animate/es/util/animate.js
    node_modules/rc-animate/es/util/motion.js
    node_modules/rc-animate/es/util/diff.js
    node_modules/rc-animate/es/Animate.js
    node_modules/rc-animate/es/CSSMotionList.js
    node_modules/rc-animate/es/AnimateChild.js
    node_modules/rc-animate/es/CSSMotion.js
    node_modules/rc-animate/es/ChildrenUtils.js
    

    Installed version: [email protected] package manager: [email protected] node version: v14.5.0

    Reply
  • react16.13.1版本,严格模式已经不支持UNSAFE_componentWillReceiveProps 和findDOMNode
    react16.13.1版本,严格模式已经不支持UNSAFE_componentWillReceiveProps 和findDOMNode

    Sep 9, 2020

    111 希望作者可以更新下

    Reply
  • Bump react from 16.14.0 to 17.0.2
    Bump react from 16.14.0 to 17.0.2

    Mar 23, 2021

    Bumps react from 16.14.0 to 17.0.2.

    Release notes

    Sourced from react's releases.

    17.0.2 (March 22, 2021)

    React DOM

    Artifacts

    17.0.1 (October 14, 2020)

    React DOM

    17.0.0 (October 20, 2020)

    Today, we are releasing React 17!

    Learn more about React 17 and how to update to it on the official React blog.

    React

    React DOM

    • Delegate events to roots instead of document. (@trueadm in #18195 and others)
    • Clean up all effects before running any next effects. (@bvaughn in #17947)
    • Run useEffect cleanup functions asynchronously. (@bvaughn in #17925)
    • Use browser focusin and focusout for onFocus and onBlur. (@trueadm in #19186)
    • Make all Capture events use the browser capture phase. (@trueadm in #19221)
    • Don't emulate bubbling of the onScroll event. (@gaearon in #19464)
    • Throw if forwardRef or memo component returns undefined. (@gaearon in #19550)
    • Remove event pooling. (@trueadm in #18969)
    • Stop exposing internals that won’t be needed by React Native Web. (@necolas in #18483)
    • Attach all known event listeners when the root mounts. (@gaearon in #19659)
    • Disable console in the second render pass of DEV mode double render. (@sebmarkbage in #18547)
    • Deprecate the undocumented and misleading ReactTestUtils.SimulateNative API. (@gaearon in #13407)
    • Rename private field names used in the internals. (@gaearon in #18377)
    • Don't call User Timing API in development. (@gaearon in #18417)
    • Disable console during the repeated render in Strict Mode. (@sebmarkbage in #18547)
    • In Strict Mode, double-render components without Hooks too. (@eps1lon in #18430)

    ... (truncated)

    Changelog

    Sourced from react's changelog.

    17.0.2 (March 22, 2021)

    React DOM

    17.0.1 (October 22, 2020)

    React DOM

    17.0.0 (October 20, 2020)

    Today, we are releasing React 17!

    Learn more about React 17 and how to update to it on the official React blog.

    React

    React DOM

    • Delegate events to roots instead of document. (@trueadm in #18195 and others)
    • Clean up all effects before running any next effects. (@bvaughn in #17947)
    • Run useEffect cleanup functions asynchronously. (@bvaughn in #17925)
    • Use browser focusin and focusout for onFocus and onBlur. (@trueadm in #19186)
    • Make all Capture events use the browser capture phase. (@trueadm in #19221)
    • Don't emulate bubbling of the onScroll event. (@gaearon in #19464)
    • Throw if forwardRef or memo component returns undefined. (@gaearon in #19550)
    • Remove event pooling. (@trueadm in #18969)
    • Stop exposing internals that won’t be needed by React Native Web. (@necolas in #18483)
    • Attach all known event listeners when the root mounts. (@gaearon in #19659)
    • Disable console in the second render pass of DEV mode double render. (@sebmarkbage in #18547)
    • Deprecate the undocumented and misleading ReactTestUtils.SimulateNative API. (@gaearon in #13407)
    • Rename private field names used in the internals. (@gaearon in #18377)
    • Don't call User Timing API in development. (@gaearon in #18417)
    • Disable console during the repeated render in Strict Mode. (@sebmarkbage in #18547)
    • In Strict Mode, double-render components without Hooks too. (@eps1lon in #18430)
    • Allow calling ReactDOM.flushSync during lifecycle methods (but warn). (@sebmarkbage in #18759)
    • Add the code property to the keyboard event objects. (@bl00mber in #18287)
    • Add the disableRemotePlayback property for video elements. (@tombrowndev in #18619)
    • Add the enterKeyHint property for input elements. (@eps1lon in #18634)
    • Warn when no value is provided to <Context.Provider>. (@charlie1404 in #19054)
    • Warn when memo or forwardRef components return undefined. (@bvaughn in #19550)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    Reply
  • Upgrade to GitHub-native Dependabot
    Upgrade to GitHub-native Dependabot

    Apr 29, 2021

    Dependabot Preview will be shut down on August 3rd, 2021. In order to keep getting Dependabot updates, please merge this PR and migrate to GitHub-native Dependabot before then.

    Dependabot has been fully integrated into GitHub, so you no longer have to install and manage a separate app. This pull request migrates your configuration from Dependabot.com to a config file, using the new syntax. When merged, we'll swap out dependabot-preview (me) for a new dependabot app, and you'll be all set!

    With this change, you'll now use the Dependabot page in GitHub, rather than the Dependabot dashboard, to monitor your version updates, and you'll configure Dependabot through the new config file rather than a UI.

    If you've got any questions or feedback for us, please let us know by creating an issue in the dependabot/dependabot-core repository.

    Learn more about migrating to GitHub-native Dependabot

    Please note that regular @dependabot commands do not work on this pull request.

    dependencies 
    Reply
  • Bump core-js from 2.6.12 to 3.16.0
    Bump core-js from 2.6.12 to 3.16.0

    Jul 30, 2021

    Bumps core-js from 2.6.12 to 3.16.0.

    Changelog

    Sourced from core-js's changelog.

    3.16.0 - 2021.07.30
    • Array find from last proposal moved to the stage 3, July 2021 TC39 meeting
    • Array filtering stage 1 proposal:
      • Array.prototype.filterReject replaces Array.prototype.filterOut
      • %TypedArray%.prototype.filterReject replaces %TypedArray%.prototype.filterOut
    • Added Array grouping stage 1 proposal:
      • Array.prototype.groupBy
      • %TypedArray%.prototype.groupBy
    • Work with symbols made stricter: some missed before cases of methods that should throw an error on symbols now works as they should
    • Handling @@toPrimitive in some cases of ToPrimitive internal logic made stricter
    • Fixed work of Request with polyfilled URLSearchParams, #965
    • Fixed possible exposing of collections elements metadata in some cases, #427
    • Fixed crashing of Object.create(null) on WSH, #966
    • Fixed some cases of typed arrays subclassing logic
    • Fixed a minor bug related to string conversion in RegExp#exec
    • Fixed Date.prototype.getYear feature detection
    • Fixed content of some entry points
    • Some minor optimizations and refactoring
    • Deno:
      • Added Deno support (sure, after bundling since Deno does not support CommonJS)
      • Allowed deno target in core-js-compat / core-js-builder
      • A bundle for Deno published on deno.land/x/corejs
    • Added / updated compat data / mapping:
      • Deno 1.0-1.13
      • NodeJS up to 16.6
      • iOS Safari up to 15.0
      • Samsung Internet up to 15.0
      • Opera Android up to 64
      • Object.hasOwn marked as supported from V8 9.3 and FF92
      • Date.prototype.getYear marked as not supported in IE8-
    • Added summary option to core-js-builder, see more info in the README, #910
    3.15.2 - 2021.06.29
    • Worked around breakage related to zone.js loaded before core-js, #953
    • Added NodeJS 16.4 -> Chrome 91 compat data mapping
    3.15.1 - 2021.06.23
    • Fixed cloning of regex through RegExp constructor, #948
    3.15.0 - 2021.06.21
    • Added RegExp named capture groups polyfill, #521, #944
    • Added RegExp dotAll flag polyfill, #792, #944
    • Added missed polyfills of Annex B features (required mainly for some non-browser engines), #336, #945:
      • escape
      • unescape
      • String.prototype.substr
      • Date.prototype.getYear
      • Date.prototype.setYear
      • Date.prototype.toGMTString
    • Fixed detection of forbidden host code points in URL polyfill

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    Reply
  • feat: implement AnimIfChange
    feat: implement AnimIfChange

    Jul 21, 2015

    用于 review,先不合并

                                                                                                                                                                                                           
    Reply
  • Fix deprecation warnings for react >= 15.5.0
    Fix deprecation warnings for react >= 15.5.0

    Apr 9, 2017

    Hi.

    In React v15.5.0, React.PropTypes and React.createClass became deprecate. So I migrated to prop-types package and create-react-class package.

    Ref: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html

    Reply
  • [Discuss] Add CSSTransition component
    [Discuss] Add CSSTransition component

    Jul 25, 2018

    Since current Animate component mixed with js operation, it's not easy for virtualized component animation (which need calculate style after didUpdate). Here is the plan for adding a new sub component called CSSTransition using render props.

    Draft:

    // Return customize style
    onAppearStart = (ele) => ({ height: 0 });
    
    <CSSTransition visible={show} transitionName="transition" onAppearStart={onAppearStart}>
      {({ style, className }) => (
        <div className={className} style={style} />
      )}
    </CSSTransition>
    

    @afc163 @yesmeck

    Reply
  • chore: use Father
    chore: use Father

    Mar 28, 2020

                                                                                                                                                                                                           
    Reply
  • exclusive not making it exclusive
    exclusive not making it exclusive

    Jul 28, 2015

    Hey sir. Thanks a bunch for this library!

    Not sure whether that's intended or not, but setting exclusive={true} isn't ensuring that an element currently in the DOM is allowed to finish its leave transition before the next one entering.

    Is that a bug, or am I misinterpreting how it works?

    Thanks!

    Reply
  • refactor: remove deprecated lifecycle methods
    refactor: remove deprecated lifecycle methods

    Oct 1, 2019

    大体是把 componentWillReceiveProps 里的方法移到 getDerivedStateFromProps 里,然后把类内属性移到外面去

    Close #71

    Reply
  • Uncaught TypeError: Cannot read property 'children' of undefined at getChildrenFromProps
    Uncaught TypeError: Cannot read property 'children' of undefined at getChildrenFromProps

    Jun 22, 2017

    ERROR:

    Uncaught TypeError: Cannot read property 'children' of undefined
        at getChildrenFromProps (modules.js?hash=c3bb3b2…:122940)
        at new Animate (modules.js?hash=c3bb3b2…:122968)
        at modules.js?hash=c3bb3b2…:36983
        at measureLifeCyclePerf (modules.js?hash=c3bb3b2…:36764)
        at ReactCompositeComponentWrapper._constructComponentWithoutOwner (modules.js?hash=c3bb3b2…:36982)
        at ReactCompositeComponentWrapper._constructComponent (modules.js?hash=c3bb3b2…:36968)
        at ReactCompositeComponentWrapper.mountComponent (modules.js?hash=c3bb3b2…:36876)
        at Object.mountComponent (modules.js?hash=c3bb3b2…:29710)
        at ReactDOMComponent.mountChildren (modules.js?hash=c3bb3b2…:36062)
        at ReactDOMComponent._createInitialChildren (modules.js?hash=c3bb3b2…:33263)
    

    FIX: https://github.com/react-component/animate/blob/master/src/Animate.js#L70 change this.props to props

    Reply
  • Add `CSSMotion` component
    Add `CSSMotion` component

    Jul 27, 2018

    • Add CSSMotion component to support mix className & style in react management by render props
    • Update doc
    • Add an example
    • Add test case

    ref discuss: https://github.com/react-component/animate/issues/40

    Reply
  • Refactor for fixing Animated re-render will cause transition disappear
    Refactor for fixing Animated re-render will cause transition disappear

    May 30, 2018

    • Upgrade rc-tools & fix eslint
    • Remove dependency css-animation and use react lifecycle instead
    • Use raf for active state trigger
    • Align the transition/animation event with react
      • still use js event inject for keeping the origin behavior
    • Use new react-lifecycles-compat for new life cycle method
    • exclusive change can change the transition immediately
    • Add more test case

    Currently, className will be added by both React & js to keep the className work when sub component not accept the className props. But for styles, there is no better way for updating. So it still has the issue when both React and animation change the style prop.

    Reply
  • fix: should not render when showProp is false
    fix: should not render when showProp is false

    Sep 27, 2017

                                                                                                                                                                                                           
    Reply