当前位置: 首页 > 面试题库 >

如何在React.js中传递项目数组

能逸清
2023-03-14
问题内容
const ListItem = React.createClass({

  render: function() {

    return <li > {

      this.props.item

    } < /li>;

  }

});



const ToDoList = React.createClass({

  render: function() {



    const todoItems = this.props.items.map(item => {

      return <ListItem item = {

        item

      } > < /ListItem>

    })



    return ( <

      ul > {

        todoItems

      } < /ul>

    );

  }

});



//creating a basic component with no data, just a render function

const MyApp = React.createClass({

  render: function() {

    return ( <

      div className = "well" >

      <

      h1 > Hello < /h1> <

      ToDoList > < /ToDoList> <

      /div>

    );

  }

});



//insert the component into the DOM

ReactDOM.render( < MyApp / > , document.getElementById('container'));







<

div id = "container" > < /div>


<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id="container"></div>

一个ReactJs教程说:

如果要使它成为真正可扩展的列表,则可以创建一个项目数组,然后将它们通过ToDoList组件传递到props中,然后渲染每个项目。现在开始吧。

如何在上面的代码中传递项目数组?


问题答案:

数据可以通过道具传递到组件。

https://facebook.github.io/react/tutorial/tutorial.html#passing-data-through-
props

在您的情况下,道具可以通过在组件内部访问this.props

<TodoList />需要一个称为项的道具,它是一个数组。在内部,<TodoList />您可以映射该数组并返回元素。

例如,在您的类的render方法中,您将返回带有道具的TodoList:

const myItems = [{ name: 'item 1' }, { name: 'item2' }];
function MyApp() {
    return (
       <TodoList items={myItems} />
    );
}

然后在TodoList中映射项目

function TodoList({ items }) {
    return items.map(item => (
        <h1>{item.name}</h1>
    ));
}


 类似资料:
  • 嗨,我想从一个页面移动到另一个页面,并传递paramters和。如果URL中没有这些参数,我可以用react router实现这一点吗? 我正在使用查看https://github.com/rackt/react-router/blob/master/docs/guides/overview.md#dynamic-segments和解决方案,但在将params传递给URL之前,它无法工作。 编辑1

  • 问题内容: 我想将回调传递给加倍嵌套的组件,并且尽管我能够有效地传递属性,但我不知道如何将回调绑定到正确的组件上才能被触发。我的结构如下所示: 单击列表项时应触发一个回调,这是OutermostComponents方法“ onUserInput”,但相反,我得到“未捕获的错误:未定义不是函数”。我怀疑问题出在我如何在第一个内部渲染SecondNestedComponent并将其传递给回调函数。代码

  • craco 配置多项目入口! 需求如下: 在原有的项目中增加一个单独的html页面,想构建成两个不同的项目入口文件, 如: 构建完是 但是有各自的js引用文件, 又有公共的第三方库; craro:7.1.0 react-scripts: 5.0.1 webpack: 5.88.2 已经尝试使用customize-cra + react-app-rewire-multiple-entry 实现,并且

  • 是否有方法将命令行参数传递给Gradle中的buildSrc项目。buildSrc位于主项目中,如果我用-p传递命令行args,那么主项目将接收它们,但不接收buildSrc。我需要这样做的原因是,我试图将maven Repository的凭据传递给buildSrc,buildSrc反过来使用它来解决其子项目的依赖关系。

  • 问题内容: 我有一个使用json数据生成的动态表单,我需要在提交时传递表单输入值。我打算将值作为formdata发送。我已经创建了Submit函数,但是我不知道如何在formdata中追加值,并且需要使用Axios通过post方法。我是新来的反应者,谁能告诉我该怎么做。下面是我的代码。 问题答案: 要发布使用情况,您需要指定要发送的内容,因为应该是。 勾选此,如何使用与:

  • 也许有一种方法可以将组件绑定到事件? 在使用React一年多后,在Sebastien Lorber的回答的激励下,我得出结论,将子组件作为参数传递给父母中的函数实际上不是React的方式,也不是一个好主意。我换了答案。