我有一个组件将联系人对象存储为状态 - {firstName:"John",lastName:"Doe",phone:"1234567890}我想创建一个表单来编辑这个对象,但是如果我希望输入保存值原始的联系参数,我需要使每个输入成为受控组件.但是,我不知道如何创建一个handleChange函数来调整每个参数,因为我的状态只保存{contact:{...}}.以下是我目前的情况 -
getInitialState: function () {
return ({contact: {}});
},
handleChange: function (event) {
this.setState({contact: event.target.value });
},
render: function () {
return (
<div>
<input type="text" onChange={this.handleChange} value={this.state.contact.firstName}/>
<input type="text" onChange={this.handleChange} value={this.state.contact.lastName}/>
<input type="text" onChange={this.handleChange} value={this.state.contact.lastName}/>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
我希望在我的处理中改变我可以做的事情
handleChange: function (event) {
this.setState({contact.firstName: event.target.value });
}
Run Code Online (Sandbox Code Playgroud) 我正在学习React并通过npm将webpack安装到我的项目目录中,但是zsh找不到命令,即使我可以看到我的项目中安装了webpack.我npm init --yes跟着用过npm install --save webpack
我的朋友为我设置了我的 github 并将一个项目克隆到我的桌面上。我想看看他给我的 Github 帐户上我的个人资料名称是什么。有命令可以这样做吗?
有没有办法检查当前分支中的工作目录与特定文件中另一个分支的工作目录之间的区别?例如,如果我在文件1的分支A中工作,我想比较分支B上的文件1的差异.
a button与type="button"vs 之间有区别type="submit"吗?是否存在功能差异,或者它只是一个描述性名称,以便更轻松地阅读代码?
这有input什么不同吗?
我从这里读到,如果他们通过npm-安装你的项目,那么package.json文件中的依赖项允许人们安装依赖项.
最后,dependencies字段用于列出npm上可用的项目的所有依赖项.当有人通过npm安装您的项目时,也会安装列出的所有依赖项.此外,如果有人在项目的根目录中运行npm install,它将安装所有依赖项到./node_modules.
如果有人没有在项目的根目录中运行npm install,那么将安装所有依赖项的位置?
另外,如果他们选择通过Github克隆这个项目呢?无论如何它都准备好了,对吗?那么在那时,除了向用户提供有关项目的元数据之外,package.json文件的目的是什么?
我不明白module.exports如何只导出一个对子组件具有依赖性但仍然在DOM中呈现的组件,尽管该子组件从未被导出.
//component.js
var SubComponent = React.createClass({
...
});
var Component = React.createClass({
...
render: function () {
return(
<div><SubComponent /> stuff</div>`)
}});
module.exports = Component
Run Code Online (Sandbox Code Playgroud)
//main.js
var Component = require('./component.js');
var MainContainer = React.createClass({
render: function () {return (
<Component />)
}})
Run Code Online (Sandbox Code Playgroud) 我正试图通过跟随这个人安装ES6,但是我的终端出错了.这是我在做npm install后看到的--global babel
/usr/local/bin/babel -> /usr/local/lib/node_modules/babel/cli.js
/usr/local/bin/babel-node -> /usr/local/lib/node_modules/babel/cli.js
/usr/local/bin/babel-external-helpers -> /usr/local/lib/node_modules/babel/cli.js
babel@6.5.2 /usr/local/lib/node_modules/babel
Run Code Online (Sandbox Code Playgroud)
当我输入babel-node时
You have mistakenly installed the `babel` package, which is a no-op in Babel 6.
Babel's CLI commands have been moved from the `babel` package to the `babel-cli` package.
npm uninstall babel
npm install babel-cli
See http://babeljs.io/docs/usage/cli/ for setup instructions.
Run Code Online (Sandbox Code Playgroud)
当我尝试npm卸载babel时,我得到了与之前相同的响应
我正在与同一分支的某人一起工作。
在我添加或提交或推送之前,我每次都在对我的工作目录进行更改之后拉动,只有有时我会收到以下消息。它什么时候这样做,为什么?
请输入提交消息以解释为什么需要进行此合并,尤其是将更新的上游合并到主题分支时。
以“#”开头的行将被忽略,空消息会中止提交。
我正在学习React和JSX并使用webpack进行编译,但是当我将'debugger'输入到我的组件中时,当我在Chrome Dev Tools的Sources选项卡中时,该行不匹配(通常来源不反映我在app.jsx文件中的所有内容.React选项卡也没有真正加载.下面是我的webpack.config:
module.exports = {
context: __dirname,
entry: "./api_assignment.jsx",
output: {
path: "./",
filename: "bundle.js"
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['react']
}
}
]
},
devtool: 'source-map',
resolve: {
extensions: ["", ".js", ".jsx"]
}
};
Run Code Online (Sandbox Code Playgroud)
// Webpack截图
debugging google-chrome-devtools source-maps reactjs react-jsx
我正在从这个网站学习,并发现了这个问题并回答:
编写一个sum方法,当使用下面的语法调用时,该方法将正常工作.
console.log(sum(2,3)); // Outputs 5
console.log(sum(2)(3)); // Outputs 5
Run Code Online (Sandbox Code Playgroud)
//回答
function sum(x) {
if (arguments.length == 2) {
return arguments[0] + arguments[1];
} else {
return function(y) { return x + y; };
}
}
Run Code Online (Sandbox Code Playgroud)
我理解if语句中的代码,但不是在else语句中,因为它只是返回一个函数.该函数不是用'()'调用的,所以鉴于第二种情况,console.log(sum(2)(3));我不明白它为什么会返回5.我只能看到它会返回function(3) {return 2 + 3}哪个应该抛出错误.
我在文档中找到了这个例子。我了解主要回调(函数(err,结果)...)的工作原理,但是传递给一个和两个函数的“回调”参数是什么?这些人来自哪里,他们做什么?
async.parallel({
one: function(callback){
setTimeout(function(){
callback(null, 1);
}, 200);
},
two: function(callback){
setTimeout(function(){
callback(null, 2);
}, 100);
}
},
function(err, results) {
// results is now equals to: {one: 1, two: 2}
});
Run Code Online (Sandbox Code Playgroud) 我正在我的PC(ubuntu)上构建一些git用户来练习Github上的工作流程,并使用这个网站来构建用户.我是第3部分,只是输入eval '$(ssh-agent)'但是回来了
bash: SSH_AUTH_SOCK=/tmp/ssh-FxjmM29tR2ak/agent.3856;: No such file or directory
Run Code Online (Sandbox Code Playgroud)
"有办法解决这个问题吗?
git ×4
javascript ×4
npm ×3
reactjs ×3
github ×2
asynchronous ×1
babel ×1
call ×1
callback ×1
components ×1
debugging ×1
diff ×1
ecmascript-6 ×1
forms ×1
git-branch ×1
git-diff ×1
html ×1
html-input ×1
htmlbutton ×1
input ×1
install ×1
module ×1
node.js ×1
package.json ×1
react-jsx ×1
return ×1
source-maps ×1
ssh-agent ×1
ssh-keys ×1
ubuntu ×1
webpack ×1
zsh ×1