Код, который вы используете, является выражением.
// Function declaration:
function doStuff() {};
// Function expression:
const doStuff = function() {}
Итак, вы используете выражение функции и отлично работает, как и другие:
onClick={function name() {console.log("nnn")}}
Подробнее о функциональное выражение .
Более того,
Это утверждение недопустимо:
<a onClick={const doStuff = function doStuff(){console.log('nnn')}}>test</a>
Это выражение действительно:
<a onClick={doStuff = function doStuff(){console.log('nnn')}}>test</a>
Оператор функции связан с подъемом переменной, а выражение функции связано с разрешающим значением. Таким образом, вы можете использовать в jsx все, что разрешает значение.