我的render
函数中有一个简单的表单,如下所示:
render : function() {
return (
<form>
<input type="text" name="email" placeholder="Email" />
<input type="password" name="password" placeholder="Password" />
<button type="button" onClick={this.handleLogin}>Login</button>
</form>
);
},
handleLogin: function() {
//How to access email and password here ?
}
Run Code Online (Sandbox Code Playgroud)
我应该在handleLogin: function() { ... }
访问Email
和Password
字段中写什么?
我是React.js Library的新手,我正在浏览一些教程,我遇到了:
this.setState
this.replaceState
给出的描述不是很清楚(IMO).
setState is done to 'set' the state of a value, even if its already set
in the 'getInitialState' function.
Run Code Online (Sandbox Code Playgroud)
同样的,
The replaceState() method is for when you want to clear out the values
already in state, and add new ones.
Run Code Online (Sandbox Code Playgroud)
我试过this.setState({data: someArray});
跟着this.replaceState({test: someArray});
然后控制台.记录它们,我发现state
现在有两个data
和test
.
然后,我尝试this.setState({data: someArray});
跟着this.setState({test: someArray});
然后控制台.记录它们,我发现state
再次有两个data
和test
.
那么,这两者究竟有什么区别?
最近,我开始使用reactjs
连同backbonejs
路由器来构建应用程序.
我通常requirejs
用于依赖和代码管理.但是,当我尝试包含包含jsx
语法的文件时出现问题.
到目前为止,这就是我的意思router.js
:
define(["backbone", "react"], function(Backbone, React) {
var IndexComponent = React.createClass({
render : function() {
return (
<div>
Some Stuff goes here
</div>
);
}
});
return Backbone.Router.extend({
routes : {
"": "index"
},
index : function() {
React.renderComponent(<IndexComponent />, document.getElementById('index'));
}
});
});
Run Code Online (Sandbox Code Playgroud)
如何将IndexComponent放在自己的文件中并在此文件中调用它?我已经尝试了通常的方法(与我使用的主干和反应相同)但由于jsx
语法而出错.
如何更新指令范围?
<div ng-controller="MyCtrl">
<p t></p>
</div>
Run Code Online (Sandbox Code Playgroud)
我的指示:
var myModule = angular.module('myModule', [])
.directive('t', function () {
return {
template: '{{text}}',
link: function (scope, element, attrs) {
scope.text = '1';
element.click(function() {
scope.text = '2';
});
}
};
})
.controller('MyCtrl', ['$scope', function ($scope) {
}]);
Run Code Online (Sandbox Code Playgroud)
点击指令后不更新.
我在PostgreSQL中有一个upsert查询,如:
INSERT INTO table
(id, name)
values
(1, 'Gabbar')
ON CONFLICT (id) DO UPDATE SET
name = 'Gabbar'
WHERE
table.id = 1
Run Code Online (Sandbox Code Playgroud)
我需要使用knex来进行此upsert查询.怎么去这个?
如何console.log()
在Sublime Text中设置一个快捷方式来插入和包装它当前选择而不安装任何插件或额外的第三方内容?
我有一个页面,我需要加载一些初始的Ajax数据.
我在这个Reactjs
页面上看到我应该打电话componentDidMount
.
什么是优势,从发出请求componentDidMount
,而不是componentWillMount
?
我有一个返回几行html的函数,如下所示:
render: function() {
var badges = user.get('achievements').badges.map(function(badge) {
var str = '<h3><span className="fa fa-fw '
switch(badge.id) {
case '0':
str += ('fa-briefcase"></span><small>' + badge.text + '</small></h3>')
break;
case '1':
str += ('fa-shopping-cart"></span><small>' + badge.text + '</small></h3>')
break;
...
}
return str;
});
return (
<div className="pull-right">
{badges}
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
在执行此操作时,字符串将在页面上呈现为文本:
<h3><span className="fa fa-fw fa-briefcase"></span><small>Visionary</small></h3><h3><span className="fa fa-fw fa-shopping-cart"></span><small>Active</small></h3><h3><span className="fa fa-fw fa-sitemap"></span><small>Lorem</small></h3><h3><span className="fa fa-fw fa-tasks"></span><small>Ipsum</small></h3><h3><span className="fa fa-fw fa-signal"></span><small>Dolor</small></h3><h3><span className="fa fa-fw fa-check-square"></span><small>Amet;</small></h3>
如何将其呈现为正确的HTML?
所以我在 MongoDB (2.6.4) 中有一个查询,我试图在其中实现一个简单的 upvote/downvote 机制。当用户单击 upvote 时,我需要执行以下操作:
如果用户已经投票,则删除投票。
否则,如果用户不赞成,则添加赞成票并删除反对票(如果存在)。
到目前为止,我形成的查询(不正确)是:
db.collection.aggregate([
{
$project: {
"_id" : ObjectId("53e4d45c198d7811248cefca"),
"upvote": {
"$cond":
[
{"$in": ["$upvote",1] },
{"$pull": {"upvote" : 1}},
{"$addToSet": {"upvote" : 1}, "$pull": {"downvote": 1}}
]
}
}
}
])
Run Code Online (Sandbox Code Playgroud)
其中“1”是尝试投票的用户 ID。双方upvote
并downvote
都含有分别那些谁已经upvoted和downvoted的用户id数组。
对于查询的输出,我只想要一个 bool 值:true
如果$cond
评估为true
, else false
。
所以,我刚开始接触expressjs 4.0.0
并发现了这个express.Router()
东西,这真的很棒。
问题是,现在我的所有路由都在另一个文件中,如何将对象公开给路由文件?
服务器文件:
...
var 护照 = require('护照');
var router = require('./app/routes.js')(passport); // 不会工作
app.use('/', router);
应用程序.听(8080);
路由.js 文件:
...
var Express = require('express');
var router =express.Router(); //expressjs 4.0中的新功能
//路由在这里
module.export = router;
那么,我应该如何访问路由器文件中的护照对象?我应该创建一个新对象还是有办法将 server.js 对象传递给 router.js 文件?
有没有办法在不使用C代码中的#字符的情况下使用预处理程序指令?我们可以通过使用它的ASCII等等来以某种方式回显哈希字符吗?
例如:
1
可以通过'SOH'
在.c源文件中使用来回显.是否有类似的黑客'#'
?
javascript ×6
reactjs ×5
frontend ×4
angularjs ×1
c ×1
directive ×1
express ×1
html ×1
knex.js ×1
mean-stack ×1
mongodb ×1
node.js ×1
postgresql ×1
react-jsx ×1
requirejs ×1
sql ×1
sublimetext ×1
sublimetext2 ×1
sublimetext3 ×1