Chciałbym stworzyć taki layout. W React'cie dróg prowadzących do tego jest co najmniej tuzin. Moją implementację można podejrzeć tutaj.
W podkatalogu react-holy-grail-layout/src/layout
znajdują się pliki layout'u. W react-holy-grail-layout/src/components/app.js
znajduje się przykład wykorzystania.
Moje wątpliwości to m.in.:
- jeżeli chcę móc dodać customowe style do poszczególnych komponentów layout'u, to czy prawidłowym rozwiązaniem jest zrobienie:
import Header from '../layout/Header'
import CSSModules from 'react-css-modules'
import styles from './Header.css'
// Not sure if this is the right way to add custom styles ...
export default CSSModules(Header, styles)
- czy uzycie kontekstu, żeby przekazać do dowolnego elementu wewnątrz layout'u funkcji otwierającej/zamykającej sidenav jest dobrym rozwiązaniem? Czy są jakieś inne?
import React, { PropTypes } from 'react'
const Button = (props, { onSideNavToggle }) => (
<button onClick={onSideNavToggle}>Toggle</button>
)
// not sure if this is the right way to pass this function here ...
Button.contextTypes = {
onSideNavToggle: PropTypes.func.isRequired
}
export default Button