Передача реквизита в другой компонент по нажатию кнопки

Это немного более подробный, но он обрабатывает все повторяющиеся параметры запроса независимо от их положения в URL.

function removeDuplicateQueryParams(url) {
  var params = {};
  var parsedParams = '';
  var hash = url.split('#'); // account for hashes
  var parts = hash[0].split('?');
  var origin = parts[0];
  var retURL;
  
  // iterate over all query params
  parts[1].split('&').forEach(function(param){
    // Since Objects can only have one key of the same name, this will inherently
    // filter out duplicates and keep only the latest value.
    // The key is param[0] and value is param[1].
    param = param.split('=');
    params[param[0]] = param[1];
  });
  
  Object.keys(params).forEach(function(key, ndx){
    parsedParams += (ndx === 0)
      ? '?' + key +'='+ params[key]
      : '&' + key +'='+ params[key];
  });
  
  return origin + parsedParams + (hash[1] ? '#'+hash[1] : '');
}

console.log( removeDuplicateQueryParams('http://fake.com?q1=fu&bar=fu&q1=fu&q1=diff') );
console.log( removeDuplicateQueryParams('http://fake.com?q1=fu&bar=fu&q1=fu&q1=diff#withHash') );

2
задан පවිඳු 19 January 2019 в 05:59
поделиться

1 ответ

Итак, рассуждение таково:

  1. у вас есть родительский компонент / экран. Давайте назовем это OrdersPage
  2. в OrdersPage, у вас есть 2 компонента: Order и OrdersViewer
  3. , что вас интересует, в контексте родительских компонентов (OrdersPage) чтобы узнать, по какому ордеру был выполнен щелчок, и показать, что в другом дочернем элементе
  4. очевидно, что вам нужно state для компонента OrdersPage
  5. , когда вы щелкаете по некоторому ордеру, вы переводите его в состояние
  6. ваш другой компонент получит state как props и покажет компонент, на который нажали
0
ответ дан dee zg 19 January 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: