Не можете использовать оператор && в React? - PullRequest
0 голосов
/ 29 сентября 2019

Я использовал приведенный ниже код, чтобы убедиться, что React отображает только определенные значения состояния.

//...
return (
  state && <AnyComponent/>
)

Несмотря на то, что он работал в режиме разработки без каких-либо проблем, после сборки в результате реакции возникла ошибка, которая возвратила ноль.

Вместо && троичный оператор ? ~ : использовался для разрешения ситуации путем возврата, если значение состояния отсутствует.

Но я не хочу использовать троичный оператор.Есть ли другое решение?Пожалуйста, дайте мне знать.

Извините за недостаточно информации. Коды ошибок следующие.

selectedRestaurant && (
  <CustomOverlay
    key={selectedRestaurant.id}
    content={
      <RestaurantOverlay
        message={selectedRestaurant.restaurantName}
        bgColor={styles.selectedOverlayColor}
        shadowColor={styles.selectedOverlayShadowColor}
      />
    }
    {...{ lat: selectedRestaurant.lat, lng: selectedRestaurant.lng }}
    yAnchor={data.selectedOverlayYAnchor}
    zIndex={data.selectedOverlayZIndex}
  />
)

Сообщение об ошибке:

Error: Minified React error #152;
visit https://reactjs.org/docs/error-decoder.html?invariant=152&args[]=It for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

Поэтому я использую троичный оператор вместо && для приведенного выше кода.

Аналогичный код, но ниже ошибки не возникает,

return (
filteredRestaurants &&
filteredRestaurants.map(({ id, lat, lng, restaurantName }) => (
  <CustomOverlay
    key={id}
    content={<RestaurantOverlay message={restaurantName} />}
    {...{ lat, lng }}
    yAnchor={1}
  ></CustomOverlay>
)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...