标签: setstate

ReactJS:this.setState不是函数?

我是ReactJS的新手,我遇到错误"this.setState不是函数".

constructor() {
    super();

    this.state = {
        visible: false,
        navLinesShow: true
    };

    this.navOpen = this.navOpen.bind(this)

}

navOpen() {
    this.setState({
        navStatus: "navShow",
        navLinesShow: false
    });

    if ( this.state.visible === false) {

        setTimeout(function (){

            this.setState({
                visible: true
             });

        }, 3000);

    }
Run Code Online (Sandbox Code Playgroud)

我已将this.navOpen = this.navOpen.bind(this)添加到构造函数中.所以我猜问题是setTimeout函数.

什么是可能的解决方案?

谢谢.

javascript setstate reactjs

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

React setState 不会更新

我正在尝试从 if 语句中设置状态,但它不会这样做。结果我需要从 if 语句中更新状态,在那里我可以接收经度和纬度坐标,但它不会保存状态。如果我在 if 语句之外的控制台中回显,我将只读取第一个 setState 值表单 componentWillMount。那里有什么问题?我在这里做错了什么?所以这里是结构:

componentWillMount() {
    this.setState({
        location: {
            name: 'Riga'
        }
    });
}

componentDidMount() {
    if (!!navigator.geolocation) {
        navigator.geolocation.getCurrentPosition((position) => {

            this.setState({
                location: {
                    name: 'Sigulda'
                }
            });
        });
    } else {
        alert('ERROR on GEOLOCATION');
    }

    console.log(this.state.location);
}
Run Code Online (Sandbox Code Playgroud)

javascript setstate reactjs

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

单击一个元素会更改另一个元素的状态

我试图单击一个排序图标,该图标将触发更改列表的顺序。

为了使其更简单,假设您有一个按钮和另一个按钮,并且它们位于彼此不同的 div 上。

<div>
    //Button 1
    <button onclick={"some_click_handler"}>
</div>

<div>
    //Button 2
    <button>
        {this.state.someToggle ? true : false}
    </button>
</div>
Run Code Online (Sandbox Code Playgroud)

onclick event-handling setstate reactjs

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

无法读取 null 的属性 - React.js 状态

我正在尝试使用 React 和 Firebase 制作一个待办事项列表应用程序。

这是一个单页应用程序(登录除外)。在我的页面组件中,我调用列表组件。在我的列表组件中,我获取了放入状态的 firebase 数据。在 React Dev Tool 的 List 组件中,我可以看到如下状态:

list{items{...},listName:"exemple"}
Run Code Online (Sandbox Code Playgroud)

因此,在我的返回中,我尝试显示 listName 的值,如下所示:{this.state.list.listName} 但出现以下错误::无法读取'listName'null 的属性

这是我的列表的组件:

  class ListPage extends Component {
      constructor(props) {
    super(props);

    this.state = {
      list: null,
    };
      }
      componentDidMount() {
    this.listRef = db.ref(`users/${this.props.user.uid}/lists
    ${this.props.cle}`);
    this.listRef.on('value', data=>{
        this.setState({
            list: data.val()
        })
    })
    }
     render() {
    return (
      <div>
        <h1>List : {this.state.list.listName}</h1>
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

谢谢

setstate firebase reactjs

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

在 react-table 中实现全局搜索过滤器:React+ react-table

我正在尝试实现一个全局搜索过滤器,用于在整个表中搜索键。我正在附加一个更改处理程序,并在每个输入上触发一个回调,该回调在该数据中搜索该键并正在设置该值。它在我输入字符时被过滤,但我希望当我输入多个时搜索工作在搜索输入中搜索像 string1,string2 这样的值

代码沙盒:https : //codesandbox.io/s/jolly-bhabha-iqcx1

代码

import React from "react";
import ReactDOM from "react-dom";
import { Input } from "semantic-ui-react";
import ReactTable from "react-table";
import "react-table/react-table.css";
import "./styles.css";

export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      data: [
        { firstName: "aaaaa", status: "Pending", visits: 155 },
        { firstName: "aabFaa", status: "Pending", visits: 155 },
        { firstName: "adaAAaaa", status: "Approved", visits: 1785 },
        { firstName: "aAaaaa", status: "Approved", visits: 175 },
        { firstName: "adaSaaa", …
Run Code Online (Sandbox Code Playgroud)

javascript setstate ecmascript-6 reactjs react-table

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

如何更改 React Js 中的 Props 值?

以下是下面的代码,现在我想在同一个组件中更改 name 的值?我如何实现这一目标?

render(){
return(
<div>
<p>{this.props.name}</p>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)

setstate reactjs react-redux react-props

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

如何为三元内部的变量设置值

是否可以根据状态变化设置三元组内变量的值?

就像是:

{ this.state.change ? myObj.changeIt = true : null }
Run Code Online (Sandbox Code Playgroud)

像这样写会返回错误: Assignment to property of function parameter 'myObj'

javascript conditional-operator setstate ecmascript-6 reactjs

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

使用来自“ref”的属性设置对象的状态

我有一个带有坐标的初始状态对象x = 0 and y = 0,我想在渲染 ref 所附加的 html 元素时更新该对象。

然而,Typescript 告诉我,我尝试在 useEffect 中访问的属性不存在,并出现以下错误

Property 'offsetWidth' does not exist on type 'never'.ts(2339)
Run Code Online (Sandbox Code Playgroud)

Property 'offsetHeight' does not exist on type 'never'.ts(2339)
Run Code Online (Sandbox Code Playgroud)

如何在 setState 方法中定义要设置的内容?

  const HierarchyScene = () => {
  const [initialTreePosition, setInitialTreePosition] = useState({
    x: 0,
    y: 0
  })
  const hierarchyContainerRef = useRef(null)

  useEffect(() => {
    if (hierarchyContainerRef) {
      setInitialTreePosition({
        x: hierarchyContainerRef?.current?.offsetWidth || 0,
        y: hierarchyContainerRef?.current?.offsetHeight || 0
      })
    }
  }, [hierarchyContainerRef])

  return (
    <Box ref={hierarchyContainerRef}> …
Run Code Online (Sandbox Code Playgroud)

setstate typescript reactjs material-ui

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


Flutter:状态管理

我看过很多赞扬 Bloc State 管理的教程,它有什么特别之处,我应该作为初学者学习它吗?如果没有,是否有任何初学者友好的状态管理技术?

state-management setstate dart flutter bloc

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

如何设置状态以从APi答复

我试图设置状态以响应Api onClick。状态获得更新,但是当我第一次单击时没有更新,第二次单击是的,它的确更新了。

     fetch(URL)
          .then(res => res.json())
          .then(res => {
            this.setState({
              recipesList: res
            });
          });
    console.log(this.state.recipesList);


  };
Run Code Online (Sandbox Code Playgroud)

有人能帮我吗 ?

javascript setstate reactjs

-1
推荐指数
1
解决办法
85
查看次数

Reactjs 中的 setState 不是函数

我是新来的反应,我试图使用 APIfetchsetState状态变量命中 API ,但它抛出错误为

Unhandled Rejection (TypeError): Object(...) is not a function
Run Code Online (Sandbox Code Playgroud)

这是代码-> CodeSandboxLink

import React from "react";
import { useState, useEffect, setState } from "react";
import "./styles.css";

export default function App() {
  const [person, setPerson] = useState([]);
  fetch("https://jsonplaceholder.typicode.com/users")
    .then((response) => {
      return response.json();
    })
    .then((data) => {
      setState(data);
    });
  console.log("dasdasd", person);
  return <div className="App">{JSON.stringify(person)}</div>;
}
Run Code Online (Sandbox Code Playgroud)

请建议我哪里做错了。

javascript fetch setstate reactjs react-hooks

-1
推荐指数
1
解决办法
73
查看次数