Я использовал приведенный ниже код, чтобы убедиться, что 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>
)));