mohammad
5 سال پیش توسط mohammad مطرح شد
1 پاسخ

تفاوت Presentational Components vs Container Components

سلام دوستان وقت تون بخیر میخواستم دبونم تفاوت Presentational Components vs Container Components دقیقا چیه
در کجا از Presentational Components استفاده میشه و در کجا از Container Components
نحوی تعریف هر کدوم به چه شکله
اگه میشه یه مسال برای هر کدوم بزنید ممنونم میشم


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

@mohammad.yazdanpanah

کامپوننت‌ها در ری‌اکت به دو دسته کلی تقسیم میشند و هر کدام از آنها دارای مشخصات منحصر به فرد خود هستند.

کامپوننت‌های Presentational یا نمایشی برای ایجاد خروجی و رندر HTML هستند. این کامپوننت‌ها هیچ گونه state را مدیریت نمی‌کنند، به جز استیت های مربوط به نمایش..

const Users = props => (
  <ul>
    {props.users.map(user => (
      <li>{user}</li>
    ))}
  </ul>
)

اما کامپوننت‌های Container یا مخزنی بیشتر با عملیات‌های back-end درگیر هستند. این کامپوننت‌ها میتوانند استیت چند کامپوننت را مدیریت کنند، ممکنه چند کامپوننت‌ نمایشی رو شامل بشند و یا حتی با Redux در ارتباط باشند.

class UsersContainer extends React.Component {
  constructor() {
    this.state = {
      users: []
    }
  }

  componentDidMount() {
    axios.get('/users').then(users =>
      this.setState({ users: users }))
    )
  }

  render() {
    return <Users users={this.state.users} />
  }
}

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

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