react-selectにおいて、ドロップダウンを開いた時、選択した項目までスクロールが走らない場合の対処方法
2019-02-03
数日間悩んでいたのですが、ようやく原因がわかりました。
NG な例
import * as React from 'react';
import Select from 'react-select';
const options = [
{ label: 'a', value: 'a' },
{ label: 'b', value: 'b' },
...,
{ label: 'z', value: 'z' }
];
const App: React.SFC = () => (
<Select options={options} value={{ label: 'z', value: 'z' }} />
);
export default App;
OK な例
import * as React from 'react';
import Select from 'react-select';
const options = [
{ label: 'a', value: 'a' },
{ label: 'b', value: 'b' },
...,
{ label: 'z', value: 'z' }
];
const App: React.SFC = () => (
<Select options={options} value={options[options.length - 1]} />
);
export default App;
options に渡した props と、同じメモリを参照している value を渡してやれば動きました。
実装してみると、確かに納得。
でも、ちょっと気づきにくいポイントじゃないかなーとも思いました。