fetch() returns promise which (if successful) resolves to a Response object. A very common thing to do is immediately call Response.json() to convert the respon
fetch()
Assigning the response.json() to a variable and returning it worked for me. clone() was again saying its locked.
fetch("http://localhost:3000/watchlist") .then(response => { var res = response.json(); return res; }) .then(data => { console.log(data); this.setState({ data }); });