エラー文を読む限り、selectedWeeks
がundefined
になっているようなので、まずは、selectedWeeks
に適切に値がセットされるように修正してみてください。
現状、console.log(todo.selectedWeeks)
とすると、undefined
になるはずです。
以下、簡易的なコードでの現象再現。
// 1
const todo = {};
todo.selectedWeeks.indexOf('monday')
// => Uncaught TypeError: Cannot read property 'indexOf' of undefined
// 2
const todo = { selectedWeeks: undefined };
todo.selectedWeeks.indexOf('monday')
// => Uncaught TypeError: Cannot read property 'indexOf' of undefined
JSX上で「〜を含む」でindexOf()以外の方法を使う必要があるのでしょうか。
selectedWeeks
が配列であると仮定するならば、Array.prototype.includes()
が使えるので調べて見てください。https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
なお、String.prototype.includes()
も存在しているので、selectedWeeks
が文字列の場合でもincludes
は使えます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/07 04:50