下面是一个简单的反击计数器.但我有3个困惑.
第3行的状态是什么?看起来像一个全局变量,它有没有意义,如果它有var或const之前.这是一个生命周期函数/ var吗?
我必须从反应中导入组件吗?我记得我不需要在第15节那样做.
prevState来自哪里?
Run Code Online (Sandbox Code Playgroud)import React, { Component } from 'react'; class Counter extends Component { state = { value: 0 }; increment = () => { this.setState(prevState => ({ value: prevState.value + 1 })); }; decrement = () => { this.setState(prevState => ({ value: prevState.value - 1 })); }; render() { return ( <div> {this.state.value} <button onClick={this.increment}>+</button> <button onClick={this.decrement}>-</button> </div> ) } }
更改复选框值的正确方法是什么?
选项1
import React, { useState } from "react";
import ReactDOM from "react-dom";
import "./styles.css";
function App() {
const [x, setX] = useState(false);
const soldCheckbox = ({ target: { checked } }) => {
console.log(x, checked);
setX(checked);
};
return (
<div>
<input type="checkbox" checked={x} onChange={soldCheckbox} />
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
Run Code Online (Sandbox Code Playgroud)
选项2
import React, { useState } from "react";
import ReactDOM from "react-dom";
import "./styles.css";
function App() {
const [x, setX] = useState(false);
console.log(x);
return …Run Code Online (Sandbox Code Playgroud) 我希望我的div显示在我放入100%宽度和高度的每一件事的顶部,它显示上面有很多contorl除了一些有css z-index和其他东西我试图把我的div z-index大数但但没有工作
{
width: 100%;
height: 100%;
top: 5px;
left: 0px;
background-color: #FFFFFF !important;
padding: 10px;
overflow: hidden;
visibility: visible;
display: block;
z-index: 500 !important;
position: relative;
}
Run Code Online (Sandbox Code Playgroud) 我有一个 React 应用程序,我使用 react-router v.4,我使用 Jason 的分页。 http://jasonwatmore.com/post/2017/03/14/react-pagination-example-with-logic-like-google
一切正常,但是,当我更改路线然后将路线更改回来时,分页会将当前页面更改回第 1 页。
路由更改时如何保持页面状态?
我正在使用 yup 验证并尝试构建一个条件验证对象。
我的问题是,如何在没有硬编码的情况下将所需的和匹配的对象添加到 Yup.string() 对象。类似于链接 jQuery 函数的方式。
这是我试图实现的一个例子:
if (field.required) {
valSchema[id] = Yup.string().required(errorText[id].default);
}
if (field.validation) {
valSchema[id] = Yup.string().matches(re, field.validation[0].message);
}
if (field.otherValidation) {
valSchema[id] = Yup.string().matches(re, field.validation[1].message);
}
Run Code Online (Sandbox Code Playgroud)
显然这是行不通的,因为最后一个条件为真会覆盖前一个条件。
那么如果所有条件都为真,最终结果会是这样。
valSchema[id] = Yup.string()
.required(errorText[id].default)
.matches(reExp, field.validation[0].message);
.matches(reExp1, field.validation[1].message);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢。
我目前正在使用lodash map来映射对象数组。
我总是需要数组中的索引 0 来执行不同的操作。有没有办法让映射从索引 1 开始,而不改变或弄乱数组?
我知道我可以使用slice(1)。只是想知道是否有另一种方法可以从索引 1 而不是 0 开始。所以我不必事后将它们重新连接在一起。