Editar: Específicamente, ¿el ejemplo de AirBnb a continuación tiene algún matiz que lo exime de la regla tslint/subproceso SO en el comentario de Ori Drori?
Estoy usando tslint-react y también sigo la guía de estilo React de AirBnb
La regla de AirBnb "Usar funciones de flecha para cerrar variables locales" muestra una función lambda que se usa en el retorno (renderizado) de un componente sin estado puro.
function ItemList(props) { return ( <ul> {props.items.map((item, index) => ( <Item key={item.key} onClick={() => doSomethingWith(item.name, index)} // This ok?? /> ))} </ul> ); }La regla de tslint-react "jsx-no-lambda" parece decir que esto es algo malo.
jsx-no-lambda: la creación de nuevas funciones anónimas (con la sintaxis de función o la sintaxis de flecha ES2015) dentro de la pila de llamadas de representación funciona contra la representación pura de componentes. Al realizar una verificación de igualdad entre dos lambdas, React siempre los considerará valores desiguales y forzará al componente a volver a renderizar con más frecuencia de la necesaria.
Estoy confundido en cuanto a la mejor práctica aquí, y si la guía de estilo de AirBnb tiene un matiz que lo exime de preocupación.
¡Salud!