Similar to the "Focus Management" of the BBC TAL.
-  Focusable Component
- onFocus
 - onBlur
 - onEnterDown
 
 - Grid
 - Horizontal List
 - Vertical List
 - Horizontal List Scrollable
 - Vertical List Scrollable
 - Use Higher-Order Components?
 - Tests
 - Examples
 - Documentation
 
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import Navigation, {VerticalList, HorizontalList, Grid, Focusable} from 'react-key-navigation';
class App extends Component {
  render() {
    return (
      <Navigation>
        <Grid rows={100} columns={100}>
          {Array.from(Array(10000).keys()).map((v, i) => {
            return (
              <Focusable key={i} onFocus={() => console.log('focus ' + i)} onBlur={() => console.log('blur ' + i)} onEnterDown={() => console.log('enter ' + i)}>
                Element {i}
              </Focusable>
            );
          })}
        </Grid>
      </Navigation>
    );
  }
}
ReactDOM.render(<App />, document.getElementById('root'));