Flask API returns JSON but gives an error in React: Error: Objects are not valid as a React child

17 views
Skip to first unread message

Dale Preston

unread,
Aug 20, 2020, 11:36:42 AM8/20/20
to sqlalchemy
I have a flask API that returns valid JSON.  The Content-Type is application/json.  I assign it to state using useEffect.  When I call on the variable returned by useEffect, I get the error: Error: Objects are not valid as a React child.

I know that React is reading the JSON because I get various details.  The JSON returns a "users" table.  If I assign the JSON to a variable named "data" and I try to use "data" I get this detail showing that the users table was recognized.

Error: Objects are not valid as a React child (found: object with keys {users}). If you meant to render a collection of children, use an array instead.  

If I try to call on data.users, React gives this error showing it successfully read the elements in the JSON:

Error: Objects are not valid as a React child (found: object with keys {emailaddress, firstname, lastname, userid}). If you meant to render a collection of children, use an array instead. 

 
Any help in figuring out how to consume JSON from an API is appreciated.  I have seen a lot of threads and articles on various sites concerning this same error but none have helped. 

Thanks in advance.

Dale Preston

unread,
Aug 20, 2020, 2:23:22 PM8/20/20
to sqlalchemy
Just more info; if I change res => res.json() to res => res.text(), I get the json as text.

{ "users": [ { "emailaddress": "bobs...@somedomain.com", "firstname": "Bob", "lastname": "Smith", "userid": "bsmith" }, { "emailaddress": "tomjones @otherdomain.com", "firstname": "Tom", "lastname": "Jones", "userid": "tjones" }, { "emailaddress": "carl...@yahoo.com", "firstname": "Carlinda", "lastname": "Gonzalez", "userid": "cgonz" }, { "emailaddress": "ath...@freemail.com", "firstname": "Thomas", "lastname": "April", "userid": "athom" } ] }  

Dale Preston

unread,
Aug 20, 2020, 2:37:51 PM8/20/20
to sqlalchemy
I just realized I posted this in sqlalchemy but it's a React issue.  Sorry for the confusion.  I'll find an appropriate React group somewhere.

Dale

Reply all
Reply to author
Forward
0 new messages