当前位置: 首页 > 面试题库 >

React.js-正确设置内联样式

唐哲
2023-03-14
问题内容

我正在尝试使用带有剑道分离器的Reactjs。拆分器的样式属性如下

style="height: 100%"

使用Reactjs,如果我正确理解了所有内容,则可以使用内联样式来实现

var style = {
  height: 100
}

但是,我也使用Dustin Getz jsxutil尝试将内容拆分成更多部分并具有独立的html片段。到目前为止,我有以下html片段(splitter.html)

<div id="splitter" className="k-content">
  <div id="vertical">
    <div>
      <p>Outer splitter : top pane (resizable and collapsible)</p>
    </div>
    <div id="middlePane">
      {height}
      <div id="horizontal" style={height}>
        <div>
          <p>Inner splitter :: left pane</p>
        </div>
        <div>
          <p>Inner splitter :: center pane</p>
        </div>
        <div>
          <p>Inner splitter :: right pane</p>
        </div>
      </div>
    </div>
  <div>
  <p>Outer splitter : bottom pane (non-resizable, non-collapsible)</p>
</div>

和splitter.js组件,该组件按如下方式引用此html

define(['react', 'external/react/js/jsxutil','text!internal/html/splitter.html'],
  function(React, jsxutil, splitterHtml) {
    'use strict';
    console.log('in app:' + splitterHtml);
    return React.createClass({

      render: function () {
        var scope = {
          height: 100
        };
        console.log('about to render:' + scope.height);

        var dom = jsxutil.exec(splitterHtml, scope);
        console.log('rendered:' + dom);
        return dom;
      }    
    });
  }
)

现在,当我运行此命令时,如果将其作为内容,则可以正确看到高度。但是,当它作为样式属性执行时,出现错误

The `style` prop expects a mapping from style properties to values, not a string.

所以我显然还没有完全正确地映射它。

如果有人可以指导我纠正此问题,我将非常感激。


问题答案:

您需要这样做:

var scope = {
     splitterStyle: {
         height: 100
     }
};

然后将此样式应用于必需的元素:

<div id="horizontal" style={splitterStyle}>

在您的代码中您正在执行此操作(这是不正确的):

<div id="horizontal" style={height}>

在哪里height = 100



 类似资料:
  • 问题内容: 我知道您可以在React类中指定样式,如下所示: 我是否应该以这种方式进行所有样式设置,并且在CSS文件中完全没有指定任何样式? 还是应该完全避免使用内联样式? 两者兼而有之,似乎很奇怪而且很乱-在调整样式时需要检查两个位置。 问题答案: 目前还没有很多“最佳实践”。我们中那些使用内联样式作为React组件的人仍在进行大量试验。 全部还是全部? 我们所称的“样式”实际上包括许多概念:

  • 问题内容: 我正在尝试访问静态图像以在React 的内联属性中使用。不幸的是,我已经干了如何做到这一点。 通常,我认为您只是这样做如下: 这适用于标签。有人可以解释两者之间的区别吗? 例: 效果很好。 谢谢! 问题答案: backgroundImage属性内的花括号错误。 可能您正在将webpack与图像文件加载器一起使用,因此Background应该已经是一个String了: 您还可以使用以下E

  • 我正在尝试访问一个静态图像,以便在React中的内联属性中使用。不幸的是,我已经不知道该怎么做了。 一般我以为你刚才是这样做的: 这适用于标记。有人能解释一下这两者的区别吗? 示例: 工作正常。 谢谢!

  • 问题内容: 我想设置某些元素的样式属性,但是语法不正确。谁能建议我错了? 更新:对于任何查看此内容的人,请查看注释,这不是有效的代码。 问题答案: https://facebook.github.io/react/tips/inline- styles.html 您不需要引号。

  • 这是一个类似于使用XSLT设置内联文本和嵌套标记样式的问题,但我无法对其进行注释以获得澄清,因此我将在这里详细说明我的具体场景。我基本上有一个具有以下结构的XML文档: 我正在使用XSLT从XML文件中输出XHTML,并且我希望能够在上面示例中的place标记中的内容周围放置span标记或其他东西。其目的是使我可以用CSS为这些文本段设置样式。按照我上面提到的示例,我添加了以下内容: 当我在浏览器

  • 我有一个带有DropDown style“drop down”的组合框。当我输入文本时。文本不是我在comboBox的文本区域中看到的文本,并且SelectedIndex SelectedItem与我在特定场景中插入的文本不一致。 似乎在打开下拉列表时,而不是在关闭下拉列表时,选择项(选择索引)对应于文本。 创建一个新表单,在其上放置一个组合框和一个按钮。将事件处理程序添加到 comboBox1