Что это '?' значит в реакции родной - PullRequest
1 голос
/ 26 мая 2020

React-Native код:

const StyledButton = styled.TouchableHighlight`
 width:250px;
 background-color:${props => (props.transparent ? "transparent" : "#f3f8ff")};
 padding:15px;
border:${props => (props.transparent ? "1px solid #f3f8ff " : 0)}
 justify-content:center;
 margin-bottom:20px;
 border-radius:24px
`;
StyledTitle = styled.Text`
  text-transform: uppercase;
  text-align: center;
  font-weight: bold;
  letter-spacing: 3;
  color: ${props => (props.transparent ? "#f3f8ff " : "#666")};
`;

что означает «?» в строках ниже:

background-color:${props => (props.transparent ? "transparent" : "#f3f8ff")};

border:${props => (props.transparent ? "1px solid #f3f8ff " : 0)};

color: ${props => (props.transparent ? "#f3f8ff " : "#666")};

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Это не в react-native, это оператор if-else, сокращающий стиль в javascript.

Условный (тернарный) оператор является единственным JavaScript оператор, который принимает три операнда: условие, за которым следует вопросительный знак (?), затем выражение для выполнения, если условие истинно, за которым следует двоеточие (:), и, наконец, выражение, которое следует выполнить, если условие ложное. Этот оператор часто используется как ярлык для оператора if.

ex:

function getFee(isMember) {
  return (isMember ? '$2.00' : '$10.00');
}

console.log(getFee(true));
// expected output: "$2.00"

console.log(getFee(false));
// expected output: "$10.00"

console.log(getFee(1));
// expected output: "$2.00"
(props.transparent ? "transparent" : "#f3f8ff")

//meaning :

if(props.transparent==true){
    return "transparent"
}else{
    return "#f3f8ff"
}

1 голос
/ 26 мая 2020

Это не имеет ничего общего с react native. Это тернарный оператор javascript.

синтаксис

condition ? exprIfTrue : exprIfFalse

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...