我有一些不直接操纵我的应用程序状态的ajax请求.在react/redux应用程序中,为这些ajax请求分派动作是否必要(或有任何好处),而不是直接在组件中发送ajax请求?
为了简化我的场景,我基本上有一个我的redux状态的对象列表.我正在使用表单将新对象发布到数据库,成功发布后,我将重定向到发送GET请求的列表页面,并获取列表并更新状态.
发布新对象的AJAX调用并不直接操纵我的状态.
我与通过完整的3步Redux的异步去工作队步骤例如:'FETCH_REQUESTED','FETCH_SUCCESS','FETCH_FAIL'连同所有的AJAX请求相应的减速,这是一个很大的麻烦,以增加更多的,似乎在减速不会是有道理的.
使用HTML input type="date"和提交按钮.我想填充变量day,month并year使用日期输入中的适当值.
<input type="date" id="date-input" required />
<button id="submit">Submit</button>
Run Code Online (Sandbox Code Playgroud)
和jQuery:
var day, month, year;
$('#submit').on('click', function(){
day = $('#date-input').getDate();
month = $('#date-input').getMonth() + 1;
year = $('#date-input').getFullYear();
alert(day, month, year);
});
Run Code Online (Sandbox Code Playgroud)
这是一个代码示例:https: //jsfiddle.net/dkxy46ha/
控制台错误告诉我这.getDate()不是一个功能.
我见过类似的问题,但解决方案对我没用.如何从中提取日期,月份和年份input type="date"?谢谢
如果您有一个包含无限数量的数组的数组
例如:
var masterArray = [ [1,2,3,4,5],
[1,2],
[1,1,1,1,2,2,2,2,4,4],
[1,2,3,4,5] ];
Run Code Online (Sandbox Code Playgroud)
在masterArray中查找最长数组索引的有效方法是什么?(在这个例子中索引是2).
你好我是新的反应本机,我的代码是:
import React, {
View,
Text,
TextInput,
Component
} from 'react-native';
import Style from './styles/signin';
import Button from '../common/button';
export default class SignIn extends Component {
constructor(props) {
super(props);
this.state = {
email: '',
password: ''
};
}
render(){
return(
<View style={Style.container}>
<Text style={Style.label}>Email</Text>
<TextInput
style={Style.input}
onChangeText={(text) => this.setState({email: text})}
value={this.state.email}
/>
<Text style={Style.label}>Password</Text>
<TextInput
style={Style.input}
onChangeText={(text) => this.setState({password: text})}
value={this.state.password}
secureTextEntry={true}
/>
<Button text={'Sign in'} onPress={this.onPress}/>
</View>
);
}
onPress(){
console.log(this.state.email);
}
}Run Code Online (Sandbox Code Playgroud)
当我填写此表单并按下登录时,我有此错误消息:"无法读取未定义的属性'电子邮件'".感谢您的帮助!
我正在尝试设置一系列React-Router以在某个组件中进行导航.我已将其设置为链接标记正常工作,但我正在尝试将它们设置为如下所示:
样式设置如下:
<div className="btn-group" data-toggle="buttons">
<label className="btn btn-primary-outline active">
<input type="radio" name="options" id="option1" autocomplete="off" checked />Payments
</label>
<label className="btn btn-primary-outline">
<input type="radio" name="options" id="option2" autocomplete="off" /> Bills
</label>
<label className="btn btn-primary-outline">
<input type="radio" name="options" id="option3" autocomplete="off" /> Charge
</label>
</div>
Run Code Online (Sandbox Code Playgroud)
目前的链接系列看起来像这样(没有样式):
<ul>
<Link to='/options/option1'>option1</Link>
<Link to='/options/option2'>option2</Link>
<Link to='/options/option3'>option3</Link>
</ul>
Run Code Online (Sandbox Code Playgroud)
HTML(顶部)是用HTML编写的,而不是JSX,但这不是问题.我正在尝试将链接组件组合到上面的HTML中,以便选项将触发链接标记的功能.
在React文档中我发现了这个:
对于没有父子关系的两个组件之间的通信,您可以设置自己的全局事件系统.订阅componentDidMount()中的事件,取消订阅componentWillUnmount(),并在收到事件时调用setState().通量模式是安排这种方式的可能方式之一.
所以这让我想到了将Link标签放在各自标签内,给它们一种{{display:'none'}}样式,点击单选按钮会触发相应Link标签的点击.这将确保我们期望从Link标签(推送到浏览器历史记录等)发生所有相同的功能.
但是,以下情况不起作用:
<label className="btn btn-primary-outline active" onClick={() => document.getElementById('linkToOption1').click() }>
<Link to='/options/option1' id="linkToOption1" style={{display: 'none'}}>Option1</Link>
<input type="radio" name="options" id="option1" autoComplete="off" defaultChecked />Option1
</label>
Run Code Online (Sandbox Code Playgroud)
在前面的示例中,您可以看到我创建了一个onClick事件处理程序,该处理程序选择Link标记的id并触发单击.
为什么使用_.map()的reverse2函数可以工作,但arr.map()在这种情况下不起作用?有语法问题吗?我无法弄明白.
function reverse2(arr){
return _.map(arr, function(val,index, arr1){return arr1.pop();});
}
console.log(reverse2([1,2,3,4,5,6])); // logs [6,5,4,3,2,1]
function reverse3(arr){
return arr.map(function(val,index, arr1){return arr1.pop();});
}
console.log(reverse3([1,2,3,4,5,6])); // logs [6,5,4,undefined, undefined, undefined]
Run Code Online (Sandbox Code Playgroud) 这里有很多非常相似的问题,但是我找不到确切的答案。
我是使用jQuery的新手 .animate()方法的,我想知道是否有通用或最佳的反转动画方法?
这是我想出的一个例子的小提琴: 小提琴小提琴
本质上,它所做的就是使用if语句检查一个CSS属性,然后将其设置为一个状态或返回另一个状态。
$(document).ready(function () {
$("[name=toggle]").on("click", function () {
if ($('.box').width() < 125) {
$(".box").animate({
opacity: .3,
width: "125px",
height: "125px"
}, 250);
} else {
$(".box").animate({
opacity: 1,
width: "100px",
height: "100px"
}, 250)
}
});
});Run Code Online (Sandbox Code Playgroud)
.box {
background-color: lightblue;
box-shadow: 5px 5px 10px #000000;
width: 100px;
height: 100px;
display: block;
margin: 20px auto 0 auto;
border-radius: 25px;
}
[name="toggle"] {
display: block;
margin: 0 auto;
margin-top: 15px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<button name="toggle">Animate</button> …Run Code Online (Sandbox Code Playgroud)我知道使用基本闭包可以做到这一点,但我想了解如何使用 .bind() 来做到这一点,以更好地理解这个函数方法。请参阅此示例代码:
function add (a, b) {
return a + b;
}
var addTwo = multiply.bind(this, 2);
addTwo(10); // returns 12
Run Code Online (Sandbox Code Playgroud)
这看起来效果很好。但是,是否可以使用 .bind() 执行相同的操作,但将第二个参数设置为固定值,同时保持第一个参数不变?
我尝试了以下操作:
function add (a, b) {
return a + b;
}
var addThree = multiply.bind(this, null, 3);
addThree(10); // returns 10, presumably because null + 10 === 10
Run Code Online (Sandbox Code Playgroud)
有没有办法使用 .bind() 来选择要设置的参数和保留的参数?
我正在学习布隆过滤器,并且正在浏览 JavaScript 中的各种哈希函数。
例如,我在另一个 Stack Overflow 答案中找到了这个:
在这里找到/sf/answers/533153911/ )
String.prototype.hashCode = function() {
var hash = 0, i, chr, len;
if (this.length == 0) return hash;
for (i = 0, len = this.length; i < len; i++) {
chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash |= 0; // Convert to 32bit integer
}
return hash;
};
Run Code Online (Sandbox Code Playgroud)
如果我运行:
String.prototype.call(null, "hello")
Run Code Online (Sandbox Code Playgroud)
我得到的数值为:99162322(另外两个哈希函数得到了我:1335831723 和 120092131)。
现在,如果我创建一个具有 3 个哈希函数和 18 个索引(k=3,m=18)的假设布隆过滤器,这些大值如何在索引为 0-17 的数组中进行索引?
我有各种React组件,当传入不同的道具时可以有不同的功能.通常我遇到一些分支逻辑,如果prop1存在,做一件事,但如果prop2存在则做其他事情.
一个示例可以是具有带有不同参数的输入的元素的两个更改处理程序.
有没有办法在Flowjs中指定需要两个处理程序之一?