2

我们正在尝试使用 React 为我们的设计师和开发人员创建一个通用的 UI 组件库。换句话说 - 我们想要将我们的组件库呈现给react-domreact-sketchapp

我们希望指定一次结构、一次样式和一次行为。

react-primitives我们可以通过or之类的项目到达那里(至少)styled-components/primitives,但是这种方法基本上阻止了我们在 HTML 中包含任何语义。当您只需要使用 时Text,您无法真正指定该文本是 a<p>还是<h1>.

人们以前是如何以这种方式处理共享代码的?我们如何基本上将 HTML(通过 JSX)渲染到 Sketch?

4

1 回答 1

1

您可以通过创建针对不同平台的多个文件来创建自己的原语。

例如,如果您想为 创建一个原语h1,您将创建一个名为h1.web.js

const H1 = (props) => <h1 {...props} />

和一个名为h1.sketch.js

const H1 = (props) => <Text {...props} />

(并且可能指定默认样式以匹配您在网络上可以找到的内容)。

当你const H1 = require('./h1')skpm自动拿起h1.sketch.js。然后,您必须修改您的 webpack(或您正在使用的任何捆绑器)配置以h1.web.js优先选择。

于 2017-09-25T18:55:48.890 回答