Skip to content

[NavigationDrawer] - Invalid Checksums from Server-Side Rendering #420

@frol

Description

@frol

Description

warning.js?169357b:36 Warning: React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:
 (client) mini md-transition--decceleration md-bac
 (server) mini md-transition--acceleration md-back

Link to a gist or code sample where the issue can be reproduced

Here is the minimal reproduction code snippet:

import NavigationDrawer from 'react-md/lib/NavigationDrawers'

export default class extends React.PureComponent {
  render() {
    return (
      <NavigationDrawer
        navItems={[]}
        drawerType={NavigationDrawer.DrawerTypes.PERSISTENT_MINI}
      >
        <div>Test</div>
      </NavigationDrawer>
    )
  }
}

As far as I can tell, the cause is the miniDrawer, which gets rendered visible and with a wrong drawer type (it uses default full_height type):

<Drawer key="mini-drawer" type={drawerType} renderNode={renderNode} aria-hidden={visible}>

Version

  • React 15.6.1
  • React-MD 1.0.15 and 1.1.0-alpha-7

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions