web-dev-qa-db-ja.com

ReactJS toLowerCaseは関数ではありません

ReactJSの特定のフィールドに値を設定するために、テキストを小文字に変換し、そのインデックスを-1と比較して比較を行っていますが、JavaScriptコンソールでこのエラーが発生します。

Uncaught TypeError:props.filterText.toLowerCaseは関数ではありません

var props = this.props;
var rows = this.props.episodes
    .filter(function(episode){
        return episode.title.toLowerCase().indexOf(props.filterText.toLowerCase()) > -1;
    })
    .map(function(episode){
       return <EpisodeRow key={episode.title} episode={episode}/>
    });
9
MaxWorld

クリスのコメントが正解のようです:

titleが文字列の場合、toLowerCase()の前にtoString()を使用します。

return episode.title.toString().toLowerCase().indexOf(props.filterText.toString().toLowerCase()) > -1;
8
ThePatelGuy