小编Geo*_*gia的帖子

react.js中的生命周期事件状态和prevState

下面是一个简单的反击计数器.但我有3个困惑.

  1. 第3行的状态是什么?看起来像一个全局变量,它有没有意义,如果它有varconst之前.这是一个生命周期函数/ var吗?

  2. 我必须从反应中导入组件吗?我记得我不需要在第15节那样做.

  3. prevState来自哪里?

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>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

如何正确更改复选框?

更改复选框值的正确方法是什么?

选项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)

javascript checkbox reactjs

18
推荐指数
2
解决办法
1435
查看次数

如何使div在所有其他控件之上

我希望我的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)

css z-index

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

ReactJS - 如何在路由更改时实现分页以对保持状态做出反应?

我有一个 React 应用程序,我使用 react-router v.4,我使用 Jason 的分页。 http://jasonwatmore.com/post/2017/03/14/react-pagination-example-with-logic-like-google

一切正常,但是,当我更改路线然后将路线更改回来时,分页会将当前页面更改回第 1 页。

路由更改时如何保持页面状态?

javascript reactjs react-router

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

是的动态验证链

我正在使用 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)

有任何想法吗?

谢谢。

javascript yup

5
推荐指数
1
解决办法
1975
查看次数

3
推荐指数
1
解决办法
2625
查看次数

从索引 1 开始 lodash 地图

我目前正在使用lodash map来映射对象数组。

我总是需要数组中的索引 0 来执行不同的操作。有没有办法让映射从索引 1 开始,而不改变或弄乱数组?

我知道我可以使用slice(1)。只是想知道是否有另一种方法可以从索引 1 而不是 0 开始。所以我不必事后将它们重新连接在一起。

javascript arrays object slice lodash

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

标签 统计

javascript ×6

reactjs ×3

arrays ×1

checkbox ×1

css ×1

lodash ×1

object ×1

react-router ×1

slice ×1

yup ×1

z-index ×1