在 React 中将模板分离到外部文件

2024-05-18

我正在为客户开发 ReactJS 应用程序。我希望客户端能够自定义应用程序中的一些配置和模板。所以我创建了一个config.js file

window.APP_CONFIG = {
    url: 'example.com',
    template: {
        item: '
            <div>
                <h3>A new item title</h3>
                { item.description }
            </div>
        '       
    }
};

如何在我的 React 应用程序中使用此变量?我已尝试以下操作,但它给了我错误。

var app = React.createClass({

  render(){
     return (
       <div>
         {APP_CONFIG.template.item}
       </div>
     )
  }
})

有人做过类似的事情吗?


你并不孤单。反应模板 http://wix.github.io/react-templates/允许你使用反应without不得不忍受内联 jsx。

React-templates 语法与 jsx 非常相似,但允许您将组件 html 代码放在单独的 .rt 文件中 - 更加简洁。 RT 文件对循环和分支有更好的支持。额外的好处是,您不必围绕“class”和“for”等保留属性名称跳舞,而且还有其他优点。

来自文档:

为什么不使用 JSX?

有些人喜欢 JSX,有些人不喜欢。我们不这样做。更具体地说,在我们看来 JSX 只适合 HTML 很少的组件 里面。这可以通过在代码中创建 DOM 元素来完成。 另外,我们喜欢将代码和 HTML 分开,因为这样感觉很不错。

到目前为止我看到的主要问题是像这样的属性值onMouseDown={someJsExpr}在 jsx 中被神奇地引用,但在 React-templates 中你必须显式引用它们onMouseDown="{someJsExpr}",没有魔法。我发现找到这样的案例并转化过来并不难。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 React 中将模板分离到外部文件 的相关文章

  • 如何在React中动态分配属性?

    这是一个有两个参数的函数 我要创建的标签的名称 具有以下属性的对象 Using React 我创建一个组件并将该元素渲染到 DOM 问题是我想向元素添加属性 但它不允许循环在元素内设置属性 var Element function elem
  • 接下来如何在React应用程序中使用material-ui的rtl布局

    我想在我的 React 应用程序中使用 RTL 布局 我已经使用material ui下一版本来集成这个应用程序 我使用下面的代码来制作应用程序布局 RTL 某些组件在 RTL 布局中正常工作 但某些组件不受影响 App js Layout
  • 如何使用 Draft-js-mention-plugin 以编程方式添加提及?

    问题 我正在尝试为使用创建的内容创建一个编辑界面draft js draft js mention plugin 然而 editorState没有持久化 只有纯文本 提及被保存为对象数组 现在我需要使用该数据重新创建 editorState
  • 反应独特的“关键”错误

    我正在浏览 React 中的待办事项列表教程 并遇到以下错误 我花了相当长的时间 只是找不到错误 这是错误和组件的代码 这就是代码对于课程存储库 此提交中出现问题 https github com andrewjmead react cou
  • React Router Tabs——保持组件安装

    我使用 React Router 创建了选项卡 每个选项卡都有不同的路线 但是 我想通过保持隐藏选项卡的安装来维护选项卡转换之间的选项卡状态 我该如何实现这一目标 每次路由切换时 React 路由器都会重新安装每个组件 已经有人问过这个问题
  • 在react中使用useState hook时设置后立即读取组件状态

    This console log不起作用 它只会将之前的状态值打印为set is async const SomeCompo gt const count set useState 0 const setFun gt console log
  • 如何解密会话令牌(Next-auth JWT 令牌)

    我正在我的下一个应用程序中控制用户身份验证next auth library 我正在使用credentials provider 首先 我调用返回用户信息的登录端点 然后获取访问令牌并将其放入由next auth callback 这是我的
  • Relay 中的嵌套片段数据始终相同

    我是 Relay 新手 并且遇到了片段上嵌套数据的问题 当我在 graphiql 中进行测试时 以下查询返回正确的数据 因此我确信我的架构是正确的 viewer customers name billing address city 但是
  • 计算行:如何使用 AG Grid 根据同一列中其他行的值计算特定列的单元格值?

    我想使用同一列中其他行的值对特定行实施自定义计算 我发现AG Grid提供了定义的能力列定义表达式 https www ag grid com javascript data grid cell expressions and aggFun
  • React Hook“useSelector”在函数中被调用

    我无法弄清楚 useSelector 发生了什么 我需要一点帮助 ERROR React Hook useSelector 在函数 render user 中调用 该函数既不是 React 函数组件 也不是自定义 React Hook 函数
  • 无法在scrollView中滚动

    我有一个屏幕 我可以在输入字段中输入内容并获得相应的搜索结果 该列表在 ScrollView 中呈现 但当键盘打开时 在 Android 中 它仍然不允许我滚动 我怎样才能解决这个问题 return lt gt addressesFound
  • Azure无法访问React Web应用程序中的env变量

    几年前我看到有一个类似的问题 但超链接答案已被微软关闭 我有一个使用 create react app 创建的 React 应用程序 它已经部署到heroku并加载一些环境变量来访问谷歌地图等 这一切对于heroku来说都工作得很好 我已经
  • 在 React JSX 中返回配对元素

    问题 在 React 中 您希望通过映射数组来创建 DOM 结构 但数组中的每个项目应返回 2 个元素 例如 import React from react import from lodash let Component React ex
  • Redux如何处理reducer中的错误

    我不确定如何处理 redux 减速器中的错误 当我的 API 获取返回数据时 我需要转换其结构并检查结果数据上设置的各种属性 但是 我不能在减速器中抛出错误 因为 redux 至少需要返回之前的状态 我该如何处理这个问题 注意 我正在使用反
  • 为什么 useReducer 调度会导致重新渲染?

    假设我实现一个简单的全局加载状态 如下所示 hooks useLoading js import React createContext useContext useReducer from react const Context crea
  • 如何修复 Typescript 中的“以下属性中缺少类型‘{}’...”错误?

    我是 Typescript 新手 因此遇到了问题 我正在使用 Ant Design 并遵循如何在 Typescript 中使用 Form 但使用FunctionComponent 但是 我收到 Typescript 抛出的错误 TypeSc
  • 如何判断网站是否使用 next.js?

    很容易判断一个网站是否使用 ReactJS 通过使用反应开发者工具 https chrome google com webstore detail react developer tools fmkadmapgofadopljbjfkapd
  • 如何将React JS状态保存到本地存储中

    我不知道如何将 React js 状态存储到本地存储中 import React Component from react import App css import auth createUserProfileDocument from
  • React Hooks 常量组件与功能组件

    我理解函数组件和类组件之间的区别 但是 const 组件和函数组件之间有什么区别 e g const Home gt return div Home div To function Home return div Home div 两者都可
  • WebpackError:ReferenceError:Gatsby 上未定义窗口

    我已经在互联网上进行了大量搜索 但无法解决这个问题 我正在使用 Gasby 开发静态页面 但遇到此错误 WebpackError ReferenceError window is not defined 我的线索是 这与我正在使用的引导 模

随机推荐