小编Pio*_*rak的帖子

如何将多个参数传递给输入的onChange处理程序

我为数组中的对象渲染输入元素的集合.

render: function() {
    var ranges = [];
    this.props.ranges.map(function(range, index) {
        var rangeElement = <Input type="text"
            value={range.name} onChange={this.changeRangeName.bind(this)} />
        ranges.push(rangeElement);
    }, this);

    // render ranges
}
Run Code Online (Sandbox Code Playgroud)

这允许我写onChange处理函数:

changeRangeName: function (event) {
    var newName = event.target.value;
},
Run Code Online (Sandbox Code Playgroud)

但在这个处理程序中,我需要我想改变的范围对象的id.所以我可以改变更改如何在渲染函数中创建输入元素并更改:

var rangeElement = <Input type="text"
            value={range.name}
            onChange={this.changeRangeName.bind(this, range.id)} />
Run Code Online (Sandbox Code Playgroud)

现在我的处理程序将接收range.id作为参数,但现在我没有newName值.我可以使用refs来获取它

var rangeElement = <Input type="text"
            ref={'range' + range.id}
            value={range.name}
            onChange={this.changeRangeName.bind(this, range.id)} />
Run Code Online (Sandbox Code Playgroud)

这是我所知道的唯一解决方案,但我怀疑有更好的解决方案.

javascript reactjs

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

致命:与远程交互时遇到NullReferenceException

这是全新安装Git的新机器.

> git --version
git version 2.19.1.windows.1
Run Code Online (Sandbox Code Playgroud)

我用https克隆了回购.每次当我尝试与遥控器通话时,我都会得到这个.

> git pull
fatal: NullReferenceException encountered.
Object reference not set to an instance of an object.
fatal: NullReferenceException encountered.
Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)

我尝试再次卸载并安装git.我还将同一个repo克隆到磁盘上的不同目录,但这些都没有帮助.

当我转到我的BitBucket的Web UI时,启用了2FA.我不知道这与我的问题有什么关系.

git bitbucket

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

console2 - 如何使其全屏?

有没有办法让console2全屏?我编辑设置并增加窗口和缓冲区大小,但是当我重新启动时,设置被重置为窗口大小的63行.

console2

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

React和jQuery事件处理程序以错误的顺序触发

我正在创建出现在屏幕顶部的菜单.当用户点击其中一个菜单项div时会出现很多链接.我不能通过点击另一个菜单项(没问题,已经实现它)来隐藏这个div,而且还可以点击其他任何地方然后点击这个div和menuitems.

我听说过两个解决方案:

  • 显示菜单后面的隐形div并覆盖整个屏幕并为其添加单击处理程序.
  • 将事件处理程序附加到document.body.

第一个对我不好,因为该div将覆盖页面上的链接,我希望它们即使在点击menuitem后也可以点击,并且它出现了相应的div.所以我尝试了第二次灵魂.但问题是在我的组件的处理程序之前触发了body上的jquery click处理程序.我不知道如何让它首先调用我的组件处理程序,然后阻止事件传播.

这是代码和js小提琴:

/** @jsx React.DOM */
var Menu = React.createClass({
    click: function(e) {
        console.log('component handled click - should be called before jquery one and prevent jquery handler from running at all');
        e.stopPropagation();
    },
    render: function(){
    console.log("component renders");
        return (
            <div>
                <div>| MenuItem1 | MenuItem2 | MenuItem 3 |</div>
                <br />
                <div className="drop">
                    MenuItem 1 (This div appears when you click menu item)
                    <ul>
                        <li><a href="#" onClick={this.click}>Item 1 - when I click this I don't want …
Run Code Online (Sandbox Code Playgroud)

javascript-events reactjs

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

NuGet - 不会调用install.ps1

我正在尝试创建我的第一个NuGet包.我不知道为什么我的install.ps1脚本没有被调用.这是目录结构

--Package
|
 - MyPackage.nuspec
 - tools
 |
  - Install.ps1
  - some_xml_file
Run Code Online (Sandbox Code Playgroud)

我使用此命令行构建包 nuget.exe pack MyPackage.nuspec

从VS Package Manager控制台安装包时,不会调用install.ps1.

我想也许我在脚本中有一些错误,这就是原因,所以我评论了一切,但是

param($installPath, $toolsPath, $package, $project)
"ECHO"
Run Code Online (Sandbox Code Playgroud)

但我没有看到ECHO出现在Package Manager Console中.有什么不对?

nuget nuget-package

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

nosql数据库 - 这些有什么用?

最近我在NoSql数据库上观看了一些旧的Oredev演示.我学到了一点,但我仍然不知道这些数据库通常何时使用.什么时候使用一个,什么时候不好?在我开始学习之前,知道是否有机会使用它会很棒.你有关于首先尝试db的建议吗?我在.NET工作,学习一些Ruby.

nosql

9
推荐指数
1
解决办法
4875
查看次数

当名称不以大写字母开头时,导入不起作用

转换后这段代码不起作用

import React from 'react';
import ReactDOM from 'react-dom';
import firstLow from './moniesApp.js';

ReactDOM.render(<firstLow />, document.getElementById('content'));

但确实如此

import React from 'react';
import ReactDOM from 'react-dom';
import FirstHigh from './moniesApp.js';

ReactDOM.render(<FirstHigh />, document.getElementById('content'));

在第一种情况下,巴贝尔生产

_reactDom2.default.render(_react2.default.createElement('firstLow', null), document...
Run Code Online (Sandbox Code Playgroud)

并在页面上有一个空<firstLow data-reactroot><firstLow/>元素呈现.

在第二种情况下

_reactDom2.default.render(_react2.default.createElement(_moniesApp2.default, null), document...
Run Code Online (Sandbox Code Playgroud)

它的工作原理.我的组件被渲染.

这是怎么回事?

ecmascript-6 reactjs babeljs

9
推荐指数
2
解决办法
329
查看次数

GC何时决定收集第2代?

在白天,我在Windows服务中看到了很多第2代集合.

GC何时决定进行完全收集而不是仅收集Gen1和Gen0或仅收集Gen0?

.net garbage-collection

8
推荐指数
2
解决办法
4042
查看次数

使用XmlDocument读取app.config

我有一个app.exe.config文件,我试图通过XmlDocument读取它.但是,以下代码不起作用(将值作为null):

XmlDocument appSettingsDoc = new XmlDocument();
appSettingsDoc.Load(@"C:\DBUpgraderConfig\DBUpgrader.exe.config");
XmlNode node = appSettingsDoc.SelectSingleNode("//appSettings");
XmlElement value = (XmlElement)node.SelectSingleNode("UserName");
Run Code Online (Sandbox Code Playgroud)

这是XML:

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="Server" value="Xeon-s7\MSSQL2008"/>
    <add key="Username" value=""/>
    <add key="Password" value=""/>
  </appSettings>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

c# app-config

8
推荐指数
1
解决办法
6078
查看次数

创建的性能计数器不可见

我必须以programmaticaly方式创建性能计数器.似乎代码正在运行,但我没有在perfmon中看到性能计数器类别.当我的意思是代码工作时,我说它不会抛出任何异常.我以管理员身份运行它.

我已经看到SO的答案说可能需要一些时间来出现计数器.但我在回家之前安装了它们,第二天它们仍然不可见.

这是一个小的控制台应用程序来测试它.我安装了计数器,然后使用它们但在性能监视器中看不到它们.

编辑:我在3台机器上进行了测试,并按预期在其中一台机器上运行(perfmon中的perf计数器可见).是否有可能在Windows中的其他地方看到性能计数器(Powershell,一些sysinternals工具?)

using System;
using System.Diagnostics;

namespace PerfCounters { class Program { static void Main() { var program = new Program(); program.Run(); }

    private const string CATEGORY_NAME = "AAAMySpecialCategory";
    private const string CATEGORY_HELP = "AAAMySpecialCategory Help";
    private const string OPS_IN_CURRENT_COUNTER_NAME = "# current calls";

    public void Run()
    {
        while (true)
        {
            PrintUsage();
            Console.Write(":> ");
            var keyInfo = Console.ReadLine();
            if (keyInfo == "q")
            {
                break;
            }

            switch (keyInfo)
            {
                case "i":
                    InstallPerfCountersCategory();
                    break;

                case "c":
                    Console.WriteLine(PerformanceCounterCategoryExists()
                            ? "Perf counter …
Run Code Online (Sandbox Code Playgroud)

.net c# performancecounter

6
推荐指数
1
解决办法
1365
查看次数