-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrap examples in React.Fragment #840
Comments
Ah great idea! For React 15, is there harm in transparently wrapping in a div anyway so users wouldn’t have to explicitly wrap? 🤔 Something like: const Fragment = React.Fragment || 'div';
return <Fragment>{example_here}</Fragment> Haven’t looked at this in a while to see whether or not that makes sense, but seems doable. |
Maybe not, if we make a major release. It may break some custom styles because of new added DOM element. |
This should probably be an overridable styleguidist component. This way, I can supply my own |
You can already do it with the |
How's that?
This:
Results in:
|
There's another component or two between the Wrapper and the content rendered from the code block so you can't just use the Wrapper. |
👋 **[Support Styleguidist](https://opencollective.com/styleguidist) on Open Collective** 👋 ## Breaking changes ### Node 6 is the lowest supported version Styleguidist doesn’t support Node 4 anymore. (#744 #839 by @kohgpat) ### New format of template option We’re now using [mini-html-webpack-plugin](https://github.com/styleguidist/mini-html-webpack-plugin) and [@vxna/mini-html-webpack-template](https://github.com/vxna/mini-html-webpack-template) instead of [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin). This will make things like [adding a favicon](https://react-styleguidist.js.org/docs/cookbook#how-to-add-a-favicon) or fonts from [Google Fonts](https://react-styleguidist.js.org/docs/cookbook#how-to-add-fonts-from-google-fonts) much easier. If you’re using a custom HTML template, you need to update your style guide config. ```js // 6.x module.exports = { template: './styleguie/template.html' } // 7.x module.exports = { template: { // This is just an example, there are many more available options favicon: 'https://assets-cdn.github.com/favicon.ico' } } ``` See more [in the docs](https://react-styleguidist.js.org/docs/configuration#template). (#896 #907 by @sapegin) ### Changed Node API `server` method now returns an object containing a webpack `Compiler` instance and the Styleguidist server, see examples [in the docs](https://react-styleguidist.js.org/docs/api.html#servercallback). (#828 by @cmswalker) ## New features ### Webpack 4 support Webpack 3 is still supported too. (#857 by @kontrollanten, #900 #901 by @rubenmoya) ### Examples are wrapped in React.Fragment You don’t need to wrap multiple JSX tags in a div anymore. ```jsx // 6.x <div> <Button primary>Primary button</Button> <Button secondary>Secondary button</Button> </div> // 7.x <Button primary>Primary button</Button> <Button secondary>Secondary button</Button> ``` (#840 #842 by @tizmagik) ## Bug fixes * `components` option should accept arrays. * Do not convert URLs in Markdown to auto links (#793). * Improved accessibility (#893 by @gergely-nagy). --- ❤️ Huge thanks to @okonet to help with this release, [CI](#904) and [docs](#905) improvements.️ ❤️
🎉 This issue has been resolved in version 7.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Could also do this to avoid adding in unnecessary HTML tags:
|
Any chance this could be made to work when the example code starts with some initialization? initialState = { counter: 0 };
<Button onClick={() => setState({ counter: state.counter + 1 })}>Click Me</Button>
<span>{_.repeat(' ✓', state.counter)}</span> This still gives me the |
It's just a convenience, you can sill use fragments manually: initialState = { counter: 0 };
<>
<Button onClick={() => setState({ counter: state.counter + 1 })}>Click Me</Button>
<span>{_.repeat(' ✓', state.counter)}</span>
</> |
This will allow to render multiple components without wrapping them in some
<div>
:We should keep React 15 compatibility and check if
React.Fragment
is available. Keep the existing behavior in React 15.The text was updated successfully, but these errors were encountered: