علیرضا صبحانی
4 سال پیش توسط علیرضا صبحانی مطرح شد
1 پاسخ

مشکل در setState

سلام و عرض ادب
دوستان مشکل کد زیر چی هست ؟!
دیتای اولیه کاملا درست نشان داده میشود ولی دیتای ثانویه خیر :

import React from 'react';

class Cards extends React.Component {

    state = ["ali", "hamid", "reza"];

    constructor() {
        super();
        setTimeout(() => {
            this.setState(["vahid", "shahb", "gholam"])
        }, 2000);

    }

    render() {

        return (
            this.state.map((name, index) => <div>hello world to {name}</div>)
        )

    }

}

export default Cards ;

ثبت پرسش جدید
سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 4 سال پیش مطرح شد
2

برای این که اولش که تعریف میشه به صورت آرایه است و بعد از setState کردن به صورت object درمیاد و دیگه متد Map نداره
به این صورت باید این کار رو انجام بدید

class App extends Component{

    state = {
        names : ["ali", "hamid", "reza"]
    };

    constructor() {
        super();
        setTimeout(() => {
            this.setState({
                names : ["vahid", "shahb", "gholam"]
            })
        }, 2000);

    }

    render() {
      return (
          <div>
              <h1>sina</h1>
              {
                  console.log(this.state)
              }
              {
                  this.state.names.map((name, index) => <div>hello world to {name}</div>)

              }
          </div>)}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام