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

在JSX中反应foreach

颜霖
2023-03-14
问题内容

我有一个要通过REACT输出的对象

question = {
    text: "Is this a good question?",
    answers: [
       "Yes",
       "No",
       "I don't know"
    ]
}

而我的react组件(已减少)是另一个组件

class QuestionSet extends Component {
render(){ 
    <div className="container">
       <h1>{this.props.question.text}</h1>
       {this.props.question.answers.forEach(answer => {     
           console.log("Entered");  //This does ifre                       
           <Answer answer={answer} />   //THIS DOES NOT WORK 
        })}
}

export default QuestionSet;

从上面的代码片段中可以看到,我正在尝试通过在props中使用数组Answers来插入组件Answer的数组,它确实有效,但不会输出到HTML中。


问题答案:

您需要将元素数组传递给jsx。问题是forEach什么都不返回(即返回undefined)。更好地使用,map因为它返回这样的数组

class QuestionSet extends Component {
render(){ 
    <div className="container">
       <h1>{this.props.question.text}</h1>
       {this.props.question.answers.map((answer, i) => {     
           console.log("Entered");                 
           // Return the element. Also pass key     
           return (<Answer key={i} answer={answer} />) 
        })}
}

export default QuestionSet;


 类似资料:
  • 问题内容: 我是Angular开发人员,是React的新手,这是简单的react Component,但无法正常工作 错误: 使用JSX react / react-in-jsx-scope时,“ React”必须在范围内 问题答案: 导入行应为: 注意React的大写字母R。

  • 我试图根据组件的类型动态地渲染它们。 例如: 我尝试了这里提出的解决方案React/JSX动态组件名称 这在编译时给了我一个错误(使用browserify代替gulp)。它需要XML,而我使用的是数组语法。 我可以通过为每个组件创建一个方法来解决这个问题: 但这意味着我创建的每个组件都有一个新方法。必须有一个更优雅的解决方案来解决这个问题。 我对各种建议持非常开放的态度。

  • 第六篇JSX在React-Native中的应用 一、JSX概述 你一定疑问为什么要用JSX?其实这不是必需,而是建议。只是因为React是作为MVC中的V,是为UI而生,所以,React-Native使用JSX更能像HTML样表达树形结构,其实HTML的超类就是XML,React-Native将这个带到了解放前,不可否认的是JSX相比节省了很多的代码。JSX不是什么新奇的东西,JSX只是对Java

  • 问题内容: 是否有将功能放置在react组件中的偏好?我仍在学习反应,因此只想找出最佳做法。 问题答案: 每次渲染都会在render方法中创建一个函数,这会对性能造成轻微的影响。如果将它们放入渲染中也很麻烦,这是一个更大的原因,您不必滚动渲染中的代码即可查看html输出。始终将它们放在课堂上。 对于无状态组件,最好将函数保留在main函数之外,而传递props,否则该函数也会在每个渲染器中创建。我

  • 本文向大家介绍在JSX中如何写注释?相关面试题,主要包含被问及在JSX中如何写注释?时的应答技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍在React.js中深入了解JSX,包括了在React.js中深入了解JSX的使用技巧和注意事项,需要的朋友参考一下 最后,JSX只需使用createElement方法创建一个React元素。 示例 将转换为- 也可以添加自闭合标签。 大写自定义React元素 自定义的react元素必须以首字母大写命名,以便React能够区分html元素和react元素。 随着Jsx转换为React