Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 在“试剂”中动态渲染组件的正确方法是什么?_Clojure_Clojurescript_Reagent - Fatal编程技术网

Clojure 在“试剂”中动态渲染组件的正确方法是什么?

Clojure 在“试剂”中动态渲染组件的正确方法是什么?,clojure,clojurescript,reagent,Clojure,Clojurescript,Reagent,在React中动态呈现组件是其使用的基础。从这里可以看出,这很容易做到: render() { return ( <div className="blocks_loop"> {this.props.blocks.map(block => ( <div className="block" /> ))} </div> ) } 因为您正在创建hiccup,所以

在React中动态呈现组件是其使用的基础。从这里可以看出,这很容易做到:

  render() {
    return (
      <div className="blocks_loop">
        {this.props.blocks.map(block => (
          <div className="block" />
        ))}
      </div>
    )
  }
因为您正在创建hiccup,所以可以使用任何clojure代码映射或循环数据


因为您正在创建hiccup,所以可以使用任何clojure代码映射或循环数据

“它们不适用于任何严肃的应用程序”需要引用。好吧,也许有人用过一次,但你能回答这个问题吗?;)如果“问题”归结为“请将此javascript代码翻译成ClojureScript”,那么不,我们不会在这里这样做(如果没有人展示他们自己的真诚努力和具体的、狭隘的问题);关于这方面的大量参考资料,请特别参阅。显示您在ClojureScript中尝试执行的操作以及遇到的特定故障模式。(当修改此项时,请明确说明您试图避免“使用
列表
”的意思。)以及你所期望的一个解决方案,而不是那样做。如果你考虑任何一个序列,一个列表,我不知道你如何存储或通过一个可变数量的项目,没有某种序列类型存储它)。嗨,查尔斯-达菲-不,我不希望任何人翻译我的代码在这里。我来自js背景,正在努力学习ClojureScript。我的观点是,对于react(我正在使用试剂,这显然是它的ClojureScript化身),有一种简单、标准且有良好文档记录的方法来实现这一点,正如我给出的代码示例所示。在花了大量时间试图用ClojureScript实现同样的效果之后,我一直没能做到,正如你在我的帖子链接中看到的那样,这只是一个又一个错误。当我说
列表
时,显然我不是指Clojure列表,我是指html元素。“它们只是不适用于任何严肃的应用程序”需要引用。好吧,也许有人用过一次,但你能回答这个问题吗?;)如果“问题”归结为“请将此javascript代码翻译成ClojureScript”,那么不,我们不会在这里这样做(如果没有人展示他们自己的真诚努力和具体的、狭隘的问题);关于这方面的大量参考资料,请特别参阅。显示您在ClojureScript中尝试执行的操作以及遇到的特定故障模式。(当修改此项时,请明确说明您试图避免“使用
列表
”的意思。)以及你所期望的一个解决方案,而不是那样做。如果你考虑任何一个序列,一个列表,我不知道你如何存储或通过一个可变数量的项目,没有某种序列类型存储它)。嗨,查尔斯-达菲-不,我不希望任何人翻译我的代码在这里。我来自js背景,正在努力学习ClojureScript。我的观点是,对于react(我正在使用试剂,这显然是它的ClojureScript化身),有一种简单、标准且有良好文档记录的方法来实现这一点,正如我给出的代码示例所示。在花了大量时间试图用ClojureScript实现同样的效果之后,我一直没能做到,正如你在我的帖子链接中看到的那样,这只是一个又一个错误。当我说
列表
时,显然我不是指Clojure列表,我指的是html元素。当OP说他们不想要“使用
列表
”时,这是否意味着他们根本不想要任何序列类型?(老实说,我不知道他们在问什么,所以我不知道这个答案或任何其他答案是否符合要求)。我认为这只是语言障碍。对于初学者来说,像“动态”构建hiccup这样的事情并不明显。幸运的是,它有一个投票按钮;)感谢@JochenBedersdorfer的直截了当的回答——同样,当我说列表时,我指的是我提供的链接中的
html/hiccup/jsx
,而不是Clojure数据结构中的
list
。因此,如果我想循环一个实际的组件(在一个单独的函数中),我可以将您的代码行
[:div.block])
替换为类似
[函数返回hiccup])]
?当然可以。这就是在hiccup中嵌套组件的方式。只需使用名称即可。以下是在hiccup中何时使用[]vs()的相关文档:
blocks
这里是一个序列。当OP说他们不想要“使用
列表
”时,这是否意味着他们根本不想要任何序列类型?(老实说,我不知道他们在问什么,所以我不知道这个答案或任何其他答案是否符合要求)。我认为这只是语言障碍。对于初学者来说,像“动态”构建hiccup这样的事情并不明显。幸运的是,它有一个投票按钮;)感谢@JochenBedersdorfer的直截了当的回答——同样,当我说列表时,我指的是我提供的链接中的
html/hiccup/jsx
,而不是Clojure数据结构中的
list
。因此,如果我想循环一个实际的组件(在一个单独的函数中),我可以将您的代码行
[:div.block])
替换为类似
[函数返回hiccup])]
?当然可以。这就是在hiccup中嵌套组件的方式。只需使用名称即可。以下是有关何时在hiccup中使用[]vs()的相关文档:
(defn my-component [blocks]
   [:div.blocks_loop
     (for [b blocks]
       [:div.block])])