Hossein Sharifinia
6 سال پیش توسط Hossein Sharifinia مطرح شد
3 پاسخ

دسترسی به state کامپوننت فرزند

سلام و خسته نباشید میخواستم بدونم چطور میتونم به state که در کامپوننت فرزد ست شده هست در کامپوننت پدر دسترسی پیدا کنم تا با api ارسال کنم برای مثال id یک اینپوت رو میخوام ارسال کنم.

یک سوال دیگه :
من یک تابع را در یک کامپوننت تعریف میکنم و زمانی که میخوام برای مثال به عنوان onClick در کامپوننت فرزند بر روی یک المان فراخوانی کنم به صورت
nChange={this.handleChanges.bind(this)}
ارور میده که bind یا this شناخته نشد
ممنون میشم راهنمایی کنید.


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

@hosein.sharifinia

اگر با اونت‌ها در ویو‌ جی اس آشنا باشید(emit & on) ٬ میدونید که کار کردن باهاش خیلی سادست.
یه پکیج هست که همون عملکرد رو برای React پیاده‌سازی میکنه:
https://www.npmjs.com/package/react-emit

مستندات خوبی هم داره. یه نمونه از کدهاش شبیه زیره:

class MyCoolComponent extends React.Component {
  componentDidMount() {
    this.props.on("SomeButton:clicked", data => {
      // Our message is available here!
      // Normally you will create this `on` in a different component.
      alert(data.message);
    });
  }

  handleClick() {
    const data = { message: "Some data you wish to pass." };
    this.props.emit("SomeButton:clicked", data);
  }

  render() {
    return <button onClick={() => this.handleClick()}>Click to Emit</button>;
  }
}

export default withEmit(MyCoolComponent);

علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

@hosein.sharifinia

میتونی از اِونت‌ها استفاده کنی. اما راه درست ترش استفاده از یه State Manager مثل Redux هست


Hossein Sharifinia
@hosein.sharifinia 6 سال پیش مطرح شد
0

@ali.bayat
عزیز از Event میشه یک مثالی بزنید؟!


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

@hosein.sharifinia

اگر با اونت‌ها در ویو‌ جی اس آشنا باشید(emit & on) ٬ میدونید که کار کردن باهاش خیلی سادست.
یه پکیج هست که همون عملکرد رو برای React پیاده‌سازی میکنه:
https://www.npmjs.com/package/react-emit

مستندات خوبی هم داره. یه نمونه از کدهاش شبیه زیره:

class MyCoolComponent extends React.Component {
  componentDidMount() {
    this.props.on("SomeButton:clicked", data => {
      // Our message is available here!
      // Normally you will create this `on` in a different component.
      alert(data.message);
    });
  }

  handleClick() {
    const data = { message: "Some data you wish to pass." };
    this.props.emit("SomeButton:clicked", data);
  }

  render() {
    return <button onClick={() => this.handleClick()}>Click to Emit</button>;
  }
}

export default withEmit(MyCoolComponent);

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

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