Я новичок в React и работаю с шаблоном проекта React с Redux, который поставляется с Visual Studio 2017, я также использую библиотеку Kendo React вместе с ней.Я работаю с некоторыми отдельными виджетами, такими как раскрывающийся список .К сожалению, все примеры имеют статические массивы и не ссылаются на данные базы данных.
Мой вопрос: как мне получить данные для этих виджетов?Я начал работать над решением, но ничего не добился, и я даже не уверен, что мой подход правильный или лучший.
Вот снимок моих компонентов, раскрывающийся список, заполненный из моей базы данных.:
class TypesDropDown extends Component {
constructor(props) {
super(props);
this.state = {
data: null,
};
}
componentDidMount() {
const base_url = 'api/MyController/GetVesselTypes';
fetch(base_url)
.then(response => response.json())
.then(({ data }) => {
this.setState({ result: data });
});
}
render() {
return (
<ComboBox label="Category" data={this.state.data} textField="TypeName" valueField="Id" suggest={true} />
)
}
}
export default TypesDropDown;
Вышеуказанный компонент возвращает ошибку data: is null
.Вот мой контроллер, который использует сервис из моего общего репозитория.
[HttpGet]
public JsonResult GetVesselTypes()
{
var types = _vesselTypeService.GetVesselTypes();
return Json(types);
}
Тестирование API показывает, что данные возвращаются без каких-либо проблем, поэтому мой код здесь не так.Однако, когда я начал работать над этим, я начал думать о нескольких вещах.
- Подходит ли эта настройка для события выпадающего списка?Должен ли я, например, включить компонент в представление реакции, а затем ввести
TypesDropDown
?Если да, то как мне этого добиться? - Как мне заставить эту выборку работать и заполнять мой выпадающий список?
- Есть ли альтернативный способ получения этих данных, должен ли я использовать хранилище с избыточностью для хранения выборки для такого рода вещей?