小编Bra*_*rks的帖子

ReactJS - 如何使用javascript访问组件的displayName?

我正在构建一些React组件,有时想要在控制台上记录正在呈现的组件类型displayName,JSX在显示组件名称时使用它.

从组件的上下文中,我如何访问该displayName属性?

例如,如何console.log在此示例中使用该语句显示组件的displayName?

var Hello = React.createClass({
    displayName: 'HeyHey',

    render: function() {
        console.log(this.displayName);

        return <div>Hello {this.props.name}</div>;
    }
});
Run Code Online (Sandbox Code Playgroud)

控制台中的预期输出:

HeyHey

javascript reactjs

45
推荐指数
2
解决办法
3万
查看次数

ReactJS - 如何将"全局"数据传递给深层嵌套的子组件?

人们通常如何在React应用程序中获取"全局"数据?

例如,假设用户登录我的应用后,我有以下数据.

user: {
  email: 'test@user.com',
  name: 'John Doe'
}
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序中几乎所有组件可能想知道的数据 - 因此它可以在登录或注销状态下呈现,或者如果登录则可能显示用户电子邮件地址.

根据我的理解,在子组件中访问此数据的React方法是为顶级组件拥有数据,并使用属性将其传递给子组件,例如:

<App>
  <Page1/>
  <Page2>
    <Widget1/>
    <Widget2 user={user}/>
  </Page2>
</App>
Run Code Online (Sandbox Code Playgroud)

但这对我来说似乎很笨拙,因为这意味着我必须通过每个复合材料传递数据,只是为了将它传递给需要它的孩子.

是否存在管理此类数据的React方法?

注意:这个例子非常简单 - 我喜欢将意图包装成复合材料,因此可以根据需要彻底改变整个UI功能的实现细节.

编辑:我知道默认情况下,调用setState我的顶级组件会导致所有子组件被重新渲染,并且在每个子组件中我可以使用我喜欢的任何数据进行渲染(例如全局数据,而不仅仅是状态或道具).但是,人们如何选择仅通知某些子组件应该呈现它们?

javascript facebook reactjs

44
推荐指数
2
解决办法
3万
查看次数

如何保存Eclipse设置(字体,格式等)?

如何在Eclipse 3.6中导出我的设置(字体,语法着色,格式化等),以便在其他安装中再次使用它们?

eclipse

38
推荐指数
2
解决办法
2万
查看次数

React - 从子DOM元素中获取React组件?

我希望能够弄清楚React组件与某个DOM元素相关联的内容.

例如,假设我有一个div,并且我使用React渲染我的整个应用程序.div必须由React组件呈现 - 但是哪一个?

我知道React提供了方法" getDOMNode "来获取与React组件关联的DOM节点,但我想做相反的事情.

这可能吗?

javascript dom reactjs

35
推荐指数
3
解决办法
2万
查看次数

如何轻松复制trello风格的拖放卡片?(看板风格的应用程序)

我正在构建一个Web应用程序,它使用类似的拖放隐喻,trello通过将卡片从一个列表拖放到另一个列表来移动卡片.

我怎样才能做到这一点?

html javascript drag-and-drop trello

32
推荐指数
2
解决办法
3万
查看次数

两个分支的Github比较视图不正确?

当我在另一个分支之间进行Github比较视图时,Github似乎将HEAD版本与较旧的非头版本进行比较.masterAAmaster

我调查了一下,从我能说的话来看,听起来像Github正在将分支A与一个共同的祖先进行比较master.实际上并没有将它与目前HEAD掌握的那些进行比较.

有没有办法A在Github 中将master的HEAD与Head的HEAD区分开来?

如果没有,为什么不呢?这似乎是每个开发人员都希望能够做到的功能.或者是否有一些我可能会缺失的过程?我希望能够直接从这些差异之一创建一个Pull Request.

编辑:这是一个示例回购,显示问题

https://github.com/bradparks/test_github_diff_view

  • 我创建了一个包含单个文件README.md的新repo
  • 我将此文件设置为包含一行v100.
  • 然后我将master分支到一个新的分支A,并将该行更改为"v200"
  • 然后我将主分支中的值更改为"v300",然后使用比较链接比较2个分支

    https://github.com/bradparks/test_github_diff_view/compare/A

    我看到以下意外结果.为什么不反对v300而不是v100

    在此输入图像描述

git github git-diff

32
推荐指数
1
解决办法
1万
查看次数

如何分析JMeter摘要报告?

运行负载测试时,我得到以下结果.任何人都可以帮我阅读报告吗?

the number of thread = '500 '
ramp up period = '1'

Sample      =       '500'
Avg     =       '20917'
min         =       '820'
max         =       '48158'
Std Deviation   =       '10563.178194669255'
Error %     =       '0.046'
throughput      =       '10.375381295262601'
KB/Sec          =       `247.05023046315702` 
Avg. Bytes      =       '24382.664'
Run Code Online (Sandbox Code Playgroud)

summary report jmeter

30
推荐指数
5
解决办法
10万
查看次数

在Objective C类别中使用Super?

我想覆盖Objective C类中我没有源代码的方法.

我已经研究过了,看来Categories应该允许我这样做,但是我想在我的新方法中使用旧方法的结果,使用super来获得旧方法的结果.

每当我尝试这个时,我的方法被调用,但"超级"是零...任何想法为什么?我正在使用XCode 2.2 SDK进行iPhone开发.我肯定在使用类的实例,类的方法是实例方法.

@implementation SampleClass (filePathResolver)
-(NSString*) fullPathFromRelativePath:(NSString*) relPath
{
    NSString *result = [super fullPathFromRelativePath: relPath];

  ... do some stuff with the old result

    return result;
}
Run Code Online (Sandbox Code Playgroud)

注意和澄清:从我在Apple Docs中看到的情况来看,在我看来应该允许这样做?

developer.apple.com上的类别文档: 当类别覆盖继承的方法时,类别中的方法可以像往常一样通过消息调用继承的实现到超级.但是,如果某个类别覆盖了类别类中已存在的方法,则无法调用原始实现.

objective-c super categories

24
推荐指数
2
解决办法
1万
查看次数

显示/隐藏ReactJS组件而不会丢失其内部状态?

我一直在隐藏/显示反应组件而不渲染它们,例如:

render: function() {
  var partial;
  if (this.state.currentPage === 'home') {
    partial = <Home />;
  } else if (this.state.currentPage === 'bio') {
    partial = <Bio />;
  } else {
    partial = <h1>Not found</h1>
  }
  return (
    <div>
      <div>I am a menu that stays here</div>
      <a href="#/home">Home</a> <a href="#/bio">Bio</a>
      {partial}
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

但只是说<Bio/>组件有很多内部状态.每次我重新创建组件时,它都会丢失它的内部状态,并重置为它的原始状态.

我当然知道我可以将数据存储在某个地方,并通过道具传递或者只是全局访问它,但这些数据实际上不需要存在于组件之外.我也可以使用CSS(display:none)隐藏/显示组件,但我更喜欢隐藏/显示它们如上所述.

这里的最佳做法是什么?

编辑:也许更好的方式来说明问题是使用一个例子:

忽略React,并假设您刚刚使用的桌面应用程序具有带有名为A的Tab组件的配置对话框,该组件具有2个选项卡,名为1和2.

假设标签A.1有一个电子邮件文本字段,您可以填写您的电子邮件地址.然后单击Tab A.2一秒钟,然后单击返回选项卡A.1.发生了什么?您的电子邮件地址将不再存在,它将被重置为空,因为内部状态未存储在任何地方.

内部化状态的工作原理如下面的答案之一所示,但仅适用于组件及其直接子项.如果组件任意嵌套在其他组件中,比如选项卡中选项卡中的选项卡,那么它们保持内部状态的唯一方法是将其外部化,或者使用display:none实际上始终保留所有子组件的方法.

在我看来,这种类型的数据不是你想要弄乱应用程序状态的数据......甚至想要甚至不得不考虑.看起来您应该能够在父组件级别控制数据,并选择保留或丢弃,而不使用该display:none方法,并且不关心自己如何存储的详细信息.

javascript facebook reactjs

24
推荐指数
2
解决办法
2万
查看次数

无法安装 Eclipse - 在 Mac 上“无法创建 Java 虚拟机”

我正在尝试安装 Eclipse,但无法启动安装程序。它失败了

“未能创建 Java 虚拟机”

我该如何解决这个问题?

注意:我在 Mac 上。

java eclipse

20
推荐指数
4
解决办法
4万
查看次数