Skip to content

Instantly share code, notes, and snippets.

@awinogradov
Last active December 27, 2018 07:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save awinogradov/f267163d1aa1e01439773d9c77b6a2ed to your computer and use it in GitHub Desktop.
Save awinogradov/f267163d1aa1e01439773d9c77b6a2ed to your computer and use it in GitHub Desktop.
React & BEM: one more collaboration. bem-react-core@v1.0.0
import { decl } from 'bem-react-core';
export default decl({
block: 'App',
elem: 'Header',
attrs: {
role: 'heading'
},
content() {
return 'я заголовок';
}
});
import { decl } from 'bem-react-core';
export default decl({
block: 'App',
elem: 'Header',
tag: 'h1',
attrs() {
return {
...this.__base(...arguments),
'aria-level': 1
},
},
content() {
return `А ${this.__base(...arguments)} на десктопах превращаюсь в h1`;
}
});
import { decl } from 'bem-react-core';
export default decl({
block: 'App',
elem: 'Header',
tag: 'h2',
content() {
return `А ${this.__base(...arguments)} на тачах`;
}
});
import ReactDomServer from 'react-dom/server';
import AppHeader from 'b:App e:Header';
ReactDomServer.renderToStaticMarkup(<AppHeader />);
<h1 class="App-Header" role="heading" aria-level="1">A я заголовок на десктопах превращаюсь в h1</h2>
<h2 class="App-Header" role="heading">я заголовок на тачах</h2>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment