Так как вы используете Fragment
, я предполагаю, что вы используете версию> 16. В этом случае я думаю, что есть другой (возможно, лучший) способ решения этой проблемы, который возвращает массив массивов. Примерно так:
[
[
<div key='one'>foo</div>,
<div key='two'>bar</div>,
],
[
<div key='one'>foo</div>,
<div key='two'>bar</div>,
],
[
<div key='one'>foo</div>,
],
]
На самом деле это «эквивалентно» вашему «Решению B», но IMHO менее «хакерский», потому что я думаю , что Fragment
не предназначен для использоваться таким образом. Позвольте мне остановиться на этом:
До версии 16 функция рендеринга не могла возвращать массив React Elements, что было довольно раздражающим. В версии 16 это стало возможным, однако элементы массива должны всегда иметь key
, чтобы примиритель React работал должным образом, а это означает, что возвращать его из функции рендеринга плохо: это правильно:
[
<span key="firstSpan">foo</span>,
<span key="secondSpan">bar</span>,
]
Но делать это немного странно и раздражает. Вот почему было изобретено Fragment
, так что мы можем просто вернуть это:
<Fragment>
<span>foo</span>
<span>bar</span>
</Fragment>
Итак, большое преимущество Fragment
состоит в том, что нам не нужно назначать keys
их дочерним элементам , Вот почему я нахожу немного странным видеть Fragment
с «ключами» детей.
Кроме того, я хотел сказать, что не думаю, что с вашим «вариантом А» что-то не так. Тем не менее, я думаю, что в большинстве случаев решение, которое я предлагаю, будет намного легче реализовать.
functions
alias
bash -ixlc : 2>&1 | grep thingToSearchHere
zsh -ixc : 2>&1 | grep thingToSearchHere
-i Force shell to be interactive.
-c Take the first argument as a command to execute
-x -- equivalent to --xtrace
-l Make bash act as if invoked as a login shell
вы можете просто ввести alias
в командной строке, чтобы увидеть, какие псевдонимы у вас есть. Иначе, вы можете выполнить find
в наиболее распространенных местах, где определены псевдонимы, например,
grep -RHi "alias" /etc /root
Также в будущем это стандартные файлы конфигурации bash
Дополнительная информация: http://www.heimhardt.com/htdocs/bashrcs.html
Я нашел ответ (Я смотрел на нужный файл, но упустил очевидное).
Псевдонимы в моем случае определены в файле ~ / .bash_profile
Каким-то образом это ускользнуло от меня.
Я думаю, что, возможно, это похоже на то, что имел в виду ghostdog74 , однако их команда не сработала для меня.
Я бы попробовал что-то вроде этого:
for i in `find . -type f`; do # find all files in/under current dir
echo "========"
echo $i # print file name
cat $i | grep "alias" # find if it has alias and if it does print the line containing it
done
Если вы хотите быть по-настоящему необычным, вы можете даже добавить if [[grep -c "alias"]] then