I have an array and i have a simple string value. I want to mapping my array because i'm try to find my string value.
I have a code like this, but map function doesn't return anything :/
class Application extends React.Component {
constructor(){
super();
this.state = {
questionAnswer: 'is that possible',
question: ['is', 'possible', 'that']
}
}
renderKeywords() {
this.state.question.map((item, key) => {
return (
<span>{item}</span>
);
});
}
render() {
return (
<div>
<div>blabla</div>
{this.renderKeywords()}
</div>
);
}
}
React.render(<Application />, document.getElementById('app'));
you should return the map function itself, and you can achieve it with es6 single line arrow functions too
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 returnundefined
, you need to return the result of map (array of elements).Like this:
In short you can write it like this:
Suggestion:
Assign unique key to each element.
Check this answer for more details about key: Understanding unique keys for array children in React.js