Какие типы реквизита могут быть отправлены из одного компонента в другой с помощью свойств в React? - PullRequest
0 голосов
/ 21 сентября 2018

Я использую React уже год.Я имел опыт отправки ниже нескольких типов реквизита из одного компонента в другой.

У меня есть компонент A и B. Здесь компонент A является родителем B. Я посылаю некоторые реквизиты из A в B как строка, число, Булево, массив, объект и функция.

Компонент A:

class A extends Component {
   render(){
       return(
            <div>
                 <B string="String Prop" number={123} Boolean={true} array=[] Object={} function={this.function} />
            </div>
       );
   }
}

Мой вопрос, есть ли какие-либо другие типы свойств, которые можно отправить компонентукроме того, что я упомянул?

Ответы [ 3 ]

0 голосов
/ 21 сентября 2018

Вы можете передать некоторый компонент также в качестве реквизита, например, так:

   import Sample from './Sample'
    class A extends Component {
   render(){
      const propComponent = <Sample />
       return(
          <B component={propComponent} />
       );
     }
  }

Вы можете сделать то же самое, передав его также детям:

import Sample from './Sample'
class A extends Component {
   render(){
       return(
          <B>
          <Sample/>
          </B>
       );
     }
  }
0 голосов
/ 23 сентября 2018

Любой параметр, который можно передать функции, можно передать реагирующему компоненту.

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

0 голосов
/ 21 сентября 2018

Я не уверен, что вы только что структурировали этот вопрос таким образом, что его немного сложно понять, но с помощью React вы можете отправить любой сложный объект через реквизит.

Типы проповпросто как способ строго набрать то, что вы ожидаете передать.

Ознакомьтесь с документами, чтобы увидеть все принятые типы реквизитов для React:

https://reactjs.org/docs/typechecking-with-proptypes.html

Принимая к сведению тот факт, что вы можете создать свой собственный валидатор или даже установить его как «любой», что означает, что ему все равно, какой тип, пока он существует:

// A value of any data type
  requiredAny: PropTypes.any.isRequired,

  // You can also specify a custom validator. It should return an Error
  // object if the validation fails. Don't `console.warn` or throw, as this
  // won't work inside `oneOfType`.
  customProp: function(props, propName, componentName) {
    if (!/matchme/.test(props[propName])) {
      return new Error(
        'Invalid prop `' + propName + '` supplied to' +
        ' `' + componentName + '`. Validation failed.'
      );
    }
  },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...