首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应(不确定变量从何而来)

反应(不确定变量从何而来)
EN

Stack Overflow用户
提问于 2019-05-06 19:18:52
回答 2查看 162关注 0票数 0

我是新的反应,并试图理解反应-波普。这是一些代码

https://www.npmjs.com/package/react-popper

'ref‘、'style’、‘style’和'arrowProps‘的值来自哪里?我将如何编辑它们?我知道您可以使用this.props和属性将值传递给组件,但我不知道要插入函数的值来自何处。

代码语言:javascript
复制
import { Manager, Reference, Popper } from 'react-popper';

const Example = () => (
  <Manager>
    <Reference>
      {({ ref }) => (
        <button type="button" ref={ref}>
          Reference element
        </button>
      )}
    </Reference>
    <Popper placement="right">
      {({ ref, style, placement, arrowProps }) => (
        <div ref={ref} style={style} data-placement={placement}>
          Popper element
          <div ref={arrowProps.ref} style={arrowProps.style} />
        </div>
      )}
    </Popper>
  </Manager>
);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-06 19:49:27

您在这里看到的是一个箭头函数破坏分配反应渲染道具相结合。所以在一个代码示例中有很多。

从你的问题中,我认为最让你困惑的是毁灭任务。下面是一个我希望能帮助你们的例子:

代码语言:javascript
复制
var foo = ({a, b}) => a + b;

var x = {
  a: 1,
  b: 2
};

console.log(foo(x));
# Output is 3

这是因为析构赋值将对象的值赋值到变量ab中,就好像它们是函数参数一样。同样的事情发生在React组件上的props对象上,这就是为什么您没有看到props.ref等等。

票数 1
EN

Stack Overflow用户

发布于 2019-05-06 19:44:49

它们是Popper组件的渲染道具。它们都是在波普尔文件中定义的呈现支持函数的参数,您可以在这个包的GitHub上找到这些参数。我不熟悉这个特定的库,但是基本上它们被传递给那个函数,并且它们需要在定义的时候出现,否则它会抛出一个错误。您应该能够计算您自己的样式和诸如此类的值,但我还是不太熟悉这个包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56011132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档