oolooq, запрос к серверу асинхронный и происходит не сразу, изначально в state.data лежит пустая строка, наверняка дергаете action в методе mounted(), а данные геттера выводите в шаблоне, шаблон рендерится раньше, следовательно геттер дергается до вызова экшна с запросом, данные еще не попали в стор, и геттер пытается получить это поле у того, что в сторе лежало до запроса данных, а там у вас строка, могу предложить два варианта:
1) по умолчанию в сторе храните предполагаемую структуру данных, но с пустыми значениями, для вашего случая я бы в state.data задал бы не пустую строку, а { city: { name: "", ... }, ... }, чтоб если геттер дернул это поле, оно существовало и без ошибок выводило пустое значение. И левому человеку будет понятней что хранится в сторе
2) или делать проверку в геттере на существование city в date
ну и по основному комментарию поправьте, вы в мутацию передаете response.data, хотя ждете там сам response, и получается в итоге в мутации обращение вида response.dat.data
Ну и в добавок, вызываешь геттер ещё до того момента, как запрос выполнился, а в стейте ещё нет никакого city, и он пытается запросить это поле у пустой строки, которая там лежит по умолчанию.
короче, импортировать ты должен не файлик отдельный, а package, положи свой helpers в отдельную папку helpers, и в начале файла укажи package helpers, тогда ты сможешь его импортировать import "project_folder/helpers", судя по твоему GOPATH
zlojnaxa, я бы дополнительно в начале кода, и после вызова clearInterval устанавливал interval в null, при старте анимации проверял бы interval на не null, и в случае когда значение в переменной не равно null, это значит, что ранее setInterval уже стартовал и его сначала нужно стопнуть, перед тем как запускать новый, а то есть шанс, что установленный ранее интервал перезатрется новым и стопнуть его мы уже не сможем
havemanyquestions, без понятия, я погуглил секунд 10, выбрал из того, что нашел самую популярную библиотеку ui компонентов, бегло посмотрел, что много контролов схожих с бутстрапом и есть темы, и написал сюда, а не реакт нэйтив ни разу не писал, так что не в теме