Разобрался!Мне нужно было role="button"
<ul className="coins-list">
{ coins !== 'undefined'
? coins.map((coin, i) => (
<li
key={coin.id}
role="button"
tabIndex={i}
onFocus={() => this.setFocus(coin)}
onClick={() => this.handleSelect(coin)}
>
{coin.name}
<span className="symbol">({coin.symbol})</span>
</li>))
: <li>Loading...</li>
}
</ul>
Однако странное количество вкладок, необходимых для перехода к первой li
, все еще там.Мне нужно дважды нажать на вкладку ... затем еще несколько раз, прежде чем он начнет корректно перемещаться по списку.
Добавлена новая функция, которую я изменил:
setFocus(coin) {
console.log('setFocus', coin.id);
this.setState({ focused: coin });
}
handleSelect(coin) {
console.log('handleSelect', coin.id);
this.setState({ focused: coin });
this.props.openEdit(true, coin);
}