Javascript React.js与CoffeeScript-将道具和方法传递给子组件

Javascript React.js与CoffeeScript-将道具和方法传递给子组件,javascript,reactjs,coffeescript,react-jsx,Javascript,Reactjs,Coffeescript,React Jsx,我正在使用CoffeeScript使用React.js,这使得我无法使用JSX(或者确实如此?) 我使用一个全局名称空间。存储所有控制器和视图等 我有一个模态控制器,它创建一个模态包装器并接受一个内容(另一个React视图组件) 我有点担心的是这一行 _this.React.createElement @props.content, data : @props.data, close : @close @props.content是传递给模态控制器的另一个react组件,并且(比如u.view

我正在使用CoffeeScript使用React.js,这使得我无法使用JSX(或者确实如此?)

我使用一个全局名称空间存储所有控制器和视图等

我有一个模态控制器,它创建一个模态包装器并接受一个内容(另一个React视图组件)

我有点担心的是这一行

_this.React.createElement @props.content, data : @props.data, close : @close
@props.content是传递给模态控制器的另一个react组件,并且(比如u.views.form)。要传递所有modals方法,比如close,我需要在创建它们时列出它们

如果不隐式传递父方法和道具,子元素是否无法访问它们

执行以下操作并将父元素拥有的所有内容传递给子元素是否是一种不好的做法

_this.React.createElement @props.content, @

如果您正在向它传递一个完全初始化的React元素,那么您应该只是呈现它,而不是创建一个新的元素。就是这样做的:

React.render(element, container, callback);
如果您确实想创建一个新的,您可以根据您的版本使用
React.cloneElement
。使用clone元素,您可以将元素的props作为第二个参数传递,或者在React的早期版本中,有一个现在已弃用的方法,名为
cloneWithProps

如果希望在子对象中可以访问父对象的方法,则必须传递它们,或者使用通量模式从子对象调用操作

React.render(element, container, callback);