Sometimes, we want to fix the ‘Uncaught (in promise) TypeError: Cannot set property ‘message’ of undefined’ in Vue.js.
In this article, we’ll look at how to fix the ‘Uncaught (in promise) TypeError: Cannot set property ‘message’ of undefined’ in Vue.js.
How to fix the ‘Uncaught (in promise) TypeError: Cannot set property ‘message’ of undefined’ in Vue.js?
To fix the ‘Uncaught (in promise) TypeError: Cannot set property ‘message’ of undefined’ in Vue.js, we should make sure we aren’t referencing properties of undefined values in our methods.
For instance, we write
<script>
//...
export default {
//...
async loadData() {
const response = await this.$http.get("/notifications");
this.message = response.data;
console.log(this.message);
},
//...
};
</script>
to add the loadData
method which references the response.data
property.
To avoid the error, we should make sure that response
is an object before referencing response.data
.
To do this, we can replace the .
with the optional chaining operator by writing
response?.data
instead of response.data
.
Conclusion
To fix the ‘Uncaught (in promise) TypeError: Cannot set property ‘message’ of undefined’ in Vue.js, we should make sure we aren’t referencing properties of undefined values in our methods.