(3 kB comprimido y minificado). • Misma API ES6 de React. • Virtual DOM más pequeño y ligero. • No tiene PropTypes ni synthetic events. • Props y state son pasados como parámetros a render.
'preact'; class Clock extends Component { render() { let time = new Date().toLocaleTimeString(); return <span>{ time }</span>; } } // render an instance of Clock into <body>: render(<Clock />, document.body);
bibliotecas de React. • Solo es necesario añadir alias a react y react-dom (configurable desde Webpack o Browserify). Integrando Preact al ecosistema React/Redux // preact.config.js export default function (config, env, helpers) { const alias = config.resolve.alias; alias['react'] = 'preact-compat'; alias['react-dom'] = 'preact-compat'; }
} from 'react-router-dom'; import { connect } from 'react-redux'; import { selectPokemons, selectPokemonsStatus } from '../../redux/ducks/pokemons'; class Home extends Component { // ...Mi componente Preact } const mapStateToProps = state => ( { pokemons: selectPokemons(state), fetching: selectPokemonsStatus(state), } ); export default connect(mapStateToProps)(Home); • Con preact-compat y react-redux, el código de Redux se vuelve agnóstico y React y Preact se vuelven intercambiables. Integrando Preact al ecosistema React/Redux