Javascript 如何在react中映射函数返回数组

Javascript 如何在react中映射函数返回数组,javascript,reactjs,Javascript,Reactjs,在例1中。我可以通过将函数作为道具传递给子组件来映射函数,但是,如果我不想将函数作为道具传递给子组件,我如何映射主组件本身中的函数,如示例2所示 例1 class App extends React.Component { render() { return( <div> <Foo data={data()} /> </div> ) } } class Foo extends React.Compo

在例1中。我可以通过将函数作为道具传递给子组件来映射函数,但是,如果我不想将函数作为道具传递给子组件,我如何映射主组件本身中的函数,如示例2所示

例1

class App extends React.Component {
  render() {
    return(
     <div>
       <Foo data={data()} />
      </div>
    )
  }
}

class Foo extends React.Component {
  render() {
   return (
      <div>
        {this.props.data.map(item => {
          return (
             <div>{item.id} {item.name}</div>
           )
        })}
      </div>
    )
  }
}


function data() {
  return (
   [
     {id: 1, name: "Jack"},
     {id: 2, name: "Mark"},
     {id: 3, name: "Mike"},
     {id: 4, name: "Russell"}
   ]
  )
}
类应用程序扩展了React.Component{
render(){
返回(
)
}
}
类Foo扩展了React.Component{
render(){
返回(
{this.props.data.map(项=>{
返回(
{item.id}{item.name}
)
})}
)
}
}
函数数据(){
返回(
[
{id:1,名字:“Jack”},
{id:2,名称:“Mark”},
{id:3,名字:“迈克”},
{id:4,名字:“Russell”}
]
)
}
例2

class App extends React.Component {
  render() {
    return(
     <div>
       {this.data().map(() => {
          //I know this is not correct so what is the right way.
        })}           
      </div>
    )
  }
}


function data() {
  return (
   [
     {id: 1, name: "Jack"},
     {id: 2, name: "Mark"},
     {id: 3, name: "Mike"},
     {id: 4, name: "Russell"}
   ]
  )
}
类应用程序扩展了React.Component{
render(){
返回(
{this.data().map(()=>{
//我知道这是不正确的,所以什么是正确的方法。
})}           
)
}
}
函数数据(){
返回(
[
{id:1,名字:“Jack”},
{id:2,名称:“Mark”},
{id:3,名字:“迈克”},
{id:4,名字:“Russell”}
]
)
}

看起来这就是你要找的

class App extends React.Component {
  render() {
    return(
     <div>
       {data().map(item => {
           return (
              <div>{item.id} {item.name} </div>
           )
       })}           
      </div>
    )
  }
}


function data() {
  return (
   [
     {id: 1, name: "Jack"},
     {id: 2, name: "Mark"},
     {id: 3, name: "Mike"},
     {id: 4, name: "Russell"}
   ]
  )
}
类应用程序扩展了React.Component{
render(){
返回(
{data().map(项=>{
返回(
{item.id}{item.name}
)
})}           
)
}
}
函数数据(){
返回(
[
{id:1,名字:“Jack”},
{id:2,名称:“Mark”},
{id:3,名字:“迈克”},
{id:4,名字:“Russell”}
]
)
}

删除
此项。
如果
数据
只是作用域中的一个函数,而没有您的问题中举例说明的任何上下文。
{data().map
…?不确定为什么要使用全局。