渲染中的React开关:div儿童没有样式

所以在我的render()函数中,我有一个开关,可以根据类型有条件地加载不同的组件,问题是,在其中一种情况下,我不得不渲染2个组件,因此我将它们包装在div中因此他们会丢失分配给他们的课程inputField,这就是代码的样子:

{(() => {
                switch (values.type) {
                  case "sole":
                    return (
                      <div>
                        <InputMask
                          classname={classnames(
                            styles.inputField,styles.override
                          )}
                        >
                          {() => (
                            <LNTextField
                              type="text"
                            />
                          )}
                        </InputMask>
                        <InputMask
                          classname={classnames(
                            styles.inputField,styles.override
                          )}
                        >
                          {() => (
                            <LNTextField
                              name="dob"
                              type="text"
                            />
                          )}
                        </InputMask>
                      </div>
                    );
                  default:
                    return null;
                }
              })()}

由于这是一个样式问题,因此我删除了代码的许多功能位,为什么InputMask现在位于div中,为什么没有应用inputField类,又该如何解决呢? / p>

这是样式的外观,我使用覆盖来增加优先级;

.inputField.override {
  margin-top: 2.5%;
  margin-bottom: 2.5%;
}
fdasfas01 回答:渲染中的React开关:div儿童没有样式

您已有的样式规则可能太具体了,以至于如果随机div在途中它们将无法工作。这通常是由于使用子选择器或同级选择器。

作为解决方案,您可以使用<React.Fragment>包装而不是<div>来包装商品。简写就是<>

<>
  <MyFirstComponent />
  <MySecondComponent />
</>
,

您可以使用function setup() { //The setup() function is recognized as expected,createCanvas(1000,1000); //But the createCanvas() function isn't. } 标记而不是<Fragment>标记来包装它们。它是在React v16.2中引入的。

如果您当前正在使用早期版本,则还可以将它们包装为元素数组。

,

如果您不想使用React.Fragment然后, 您还可以创建辅助HOC来包装组件

const Aux = (props) => props.children;

export default Aux;

<Aux>
  <MyFirstComponent />
  <MySecondComponent />
<Aux>
本文链接:https://www.f2er.com/3166920.html

大家都在问