I’m currently trying to return an array with some values and a function that returns another array as well. How do I do it that my returns is basically 2 arrays instead of 1 array and 1 function
Example
const array1 = [a, b, c]
const function = () => {
if(something) {
somevalues.map(e => {
return (
<div>{e}<div>
)
})
} else {
othervalues.map(f => {
return (
<div>{f}<div>
)
})
}
}
return [...array1, function] ??
function in the example obviously returns function instead of its own return, how do I fix that?
>Solution :
You need to
- actually return something from your function. If you don’t return the return values of
somevalues.map(...)andothervalues.map(...)then your function will returnundefined. - call the function to get its return value
- spread the return value into the result array, just like you do with the static array.
Example:
const array1 = [a, b, c]
const outerFunction = () => {
const innerFunction = () => {
if(something) {
return somevalues.map(e => (<div>{e}<div>));
// ^^^^^^
} else {
return othervalues.map(f => (<div>{f}<div>));
// ^^^^^^
}
}
return [...array1, ...innerFunction()];
// ^^^ ^^
}