Передача реквизита компоненту в другой файл приставки - PullRequest
0 голосов
/ 22 марта 2020

Мне нужно передать реквизит компоненту, который находится в другом файле, используя приставку. передача его в качестве опоры для компонента не работает. Любая помощь будет принята с благодарностью, только начал изучать Redux!

Заголовок

export class DisconnectedAllDogs extends React.Component {
  render() {
    return (
      <div>
        <div className='all-dogs'>
          <h1>Peter's Park</h1>
        </div>
        <div>
          { this.props.dogs.map(dog => {
            return <DogCard  dog = {dog}/>
          })}
        </div>
      </div>
    )
  }
}

export const mapStateToProps = (state) => {
  return {
    dogs: state.dogs
  }
}

export const mapDispatchToProps = (dispatch) => {
  return {

  }
}

export default connect(mapStateToProps, mapDispatchToProps)(DisconnectedAllDogs)

const DogCard = () => {
  return (
    <div class='dog-card'>
      <Link key={ this.props.dog.id }>{ this.props.dog.name }</Link>
    </div>
  )
}


export default DogCard

1 Ответ

0 голосов
/ 22 марта 2020

Я думаю, что вариант второго компонента (DogCard), как следует, надеется решить проблему, с которой вы, возможно, столкнетесь. но если вы столкнулись с проблемой, не стесняйтесь добавить конструктор как:

export class DisconnectedAllDogs extends React.Component {
  constructor(props){
   super(props);
   this.state = null;
  }
  render() {
    return (
      <div>
        <div className='all-dogs'>
          <h1>Peter's Park</h1>
        </div>
        <div>
          { this.props.dogs.map(dog => {
            return <DogCard  dog = {dog}/>
          })}
        </div>
      </div>
    )
  }
}

export const mapStateToProps = (state) => {
  return {
    dogs: state.dogs
  }
}

export const mapDispatchToProps = (dispatch) => {
  return {

  }
}

export default connect(mapStateToProps, mapDispatchToProps)(DisconnectedAllDogs)

Действительно надеюсь, что это было полезно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...