javascript - 如何将 JSX 部分与渲染函数分离

标签 javascript angularjs reactjs

全部:

我对 React.js 还很陌生,只使用了一点 AngularJS,有一个关于 React.js 的问题:

在 AngularJS 中,HTML 部分通常与 JS 代码分离作为模板,我喜欢这种方式,这样可以使代码干净,我想知道是否有类似的方法可以在 React 中做到这一点,或者只使用函数将 this.state/this.props 应用于 HTML 部分?

谢谢

最佳答案

render 函数只是一个同步函数。只要模板已经被某些东西加载,你就绝对可以做到这一点。

//Some module that has loaded the HTML
import jsxStore from 'jsxStore';

class SillyComponent extends React.Component {
    render() {
        return jsxStore.getSillyComponent(this.props, this.state);
    }
}

这里的挑战是确保在进行此调用时加载 HTML,因为 render 不接受异步结果。必须在组件尝试执行任何操作之前加载 HTML。

需要注意的是,你这样做是在对抗 React。 React 的组件理念是一个独立的代码和表示包。目标是将组件保存在单个文件中,以便您可以立即看到整个内容。这与 Angular 等框架有意不同。如果你不喜欢这一点,React 就不太适合你。

关于javascript - 如何将 JSX 部分与渲染函数分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34145282/

相关文章:

javascript - 选择 div 的子字段

javascript - knockout JS : Image loading

javascript - 无法获取 ng-if 包装的输入值

reactjs - Material-UI:flip:false 无法按预期工作

javascript - React Router 无法使用嵌套路由正确加载图像

javascript 包括 math.js

javascript - 将鼠标悬停在第二列上时更改表中第一列的 CSS 样式

angularjs - 在 angularjs 中强制异步验证器

javascript - 为什么 Angular 让你将 $provide 服务注入(inject)到配置 block 中?

reactjs - 动画 CSSTransition react