httpリクエストからのデータを正常に動作しているコンポーネントにレンダリングしようとしましたが、データがフェッチされている間にnullであるという問題があります。データがnullの間、コンソールはすべてのデータがロードされてVuexストアにコミットされるまで、TypeErrorをスローします。RueサービスからのVueJSレンダリングデータ
どのように私は疑わしいと思っています。私は、エラーの発生を防止し、適切なデータがすべて取得されるまで待機する方法を理解しようとしています。私はv-ifを使って他の人がデータがnullであるかどうかを調べるのを見ました。単なる状態をすべてチェックするv-ifステートメントで詰まったアプリケーションなしで、同じ結果を達成するためのより良い方法があります。
私はこの解決策に出くわしましたが、まだそれは私が考えたように動作していません、私はまだ同じコンソールエラーを受けています。これらのキーワードを正しく使用していて、正しい場所にいるのですか?私が試したすべてのバリエーションで何も変わっていないからです。
Vuex処置:
const actions = {
getThread ({ commit }, payload) {
Vue.http
.get(`http://localhost:9000/threads/${payload.id}`)
.then(async response => {
commit(FETCH_THREAD, await response.data)
})
}
}
これはアクション呼びかけ私VUEファイル内にある:
created() {
this.$store.dispatch('getThread', {id: '59280ab5acbafb17af9da902'})
}
これを見て(https://router.vuejs.org/en/advanceことを必要としない非同期忘れますd/data-fetching.html)。 –
@VAMSIKRISHNA私はこれも調べましたが、コンソールに同じエラーが発生していました。 – Jordan
なぜそれは 'async-await'ですか? '.'で' get'が解決されると、既にデータを受け取りました。さらに、突然変異は同期的でしかないので、私が何かを見逃していなければ、このasync-await commitは意味をなさない。 – wostex