В идеале, вы должны использовать только get
методы, когда вы устанавливаете prop
значения в render
.
В setDefaultValue
вы используете setState
, который становится недействительным, это то, что выошибка говорит. Вы должны перенести это в какую-то другую логику .Чтобы все работало как есть, используйте как это: (здесь комментируется код, просто чтобы показать часть ошибки, вы можете удалить это)
setDefaultValue = (value, options) => {
let matchedLabel = options.find(el => el.value === value);
// if (value !== "O") {
// this.setState({ viewReason: false }) // you can't use setState in render
// }
return [{ value, label: matchedLabel.label }]
}