Because you are not returning anything from renderKeywords
method, you are returning from map body only. If you don’t return anything from function then by default it will return undefined
, you need to return the result of map (array of elements).
Like this:
renderKeywords() {
return this.state.question.map((item, key) => { //here
return (
<span key={key}> {item} </span>
);
});
}
In short you can write it like this:
renderKeywords() {
return this.state.question.map((item, key) => <span key={key}> {item} </span> );
}
Suggestion:
Assign unique key to each element.
Check this answer for more details about key: Understanding unique keys for array children in React.js