Реагировать на нативную идентификацию логического объекта - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь создать приложение (IOS и Android) для рекламы, и я хочу, чтобы можно было перейти к объектам моих объявлений и определить логическое значение, а если это правда, сделать одно, а другое - иначе.

Вот объекты рекламного объявления:

Я хочу перейти в объект, и если «ReceiveHelp» истинно, я хочу, чтобы код выполнялся, скажем, синий как backgroundcoulor, в противном случаекрасный.Проблема в том, что я не знаю, как войти в объект и идентифицировать только логические реквизиты.

   export const publicAdFetch = () => {
     return (dispatch) => {
      firebase.database().ref('/users').once('value').then((snapshot) => {
  const usersData = snapshot.val();
     let sortedAdds = Object.keys(usersData).reduce((prev, userId) => {
   let ads = usersData[userId].ads;
   ads = Object.keys(ads).map(key => {
     return { ...ads[key], id: key };
     });
  return prev.concat(ads);
 }, [])
.sort((a, b) => (b.time - a.time));

Это код, который мне нужно в настоящее время поместить в массив, а затем отсортировать по времени.Но я понятия не имею, как просто посмотреть, является ли логическое значение истинным или ложным

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Спасибо @ Родиус

Твоя помощь дала мне вдохновение!Я решил это, но сделал:

let iftrue = '#666';
if (this.props.callbackFromParent.receiveHelp) {
   iftrue = '#ff0';

, а затем в своих стилях для объявления у меня было «iftrue», я не понимал, что это было так просто, что «.receiveHelp» было достаточно, чтобы войти в объект, чтобыпроверьте значения.

0 голосов
/ 25 апреля 2018

Вы можете проверить логическое значение с typeof

const yourObjArray = [
      {desc: "fdf", price: "rrr", receiveHelp: true},
      {desc: "ccc", price: "254", receiveHelp: 351},
      {desc: "aaa", price: "gdg", receiveHelp: false},
      {desc: "aaa", price: "gdg", receiveHelp: "charlie"},
      {desc: "feee", price: "jth", receiveHelp: true},
    ];
    
yourObjArray.forEach(obj => console.log("The type is: ", typeof obj.receiveHelp));

Как только вы узнаете, является ли receiveHelp логическим значением, вы можете легко проверить на истинность или ложь с помощью if():

const receiveHelp = true;

if (typeof receiveHelp === 'boolean') {
   if (receiveHelp) { // This equals to if (receiveHelp === true)
      console.log("this is true: ", receiveHelp);
   } else { // else false
      console.log("this is false: ", receiveHelp);
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...