Map a filtered array in React












2















I made a component containing two dropdown lists. The options in the second dropdown menu is supposed to be filtered depending on the selected option from the first dropdown menu.



Now, I want to map a filtered array that is stored in a const similary to the way i map options1:



render() {

const options1 = [
{value: 'one', label: 'One'},
{value: 'two', label: 'Two'}
];



const options2 = [
{value: 'one-a', label: 'One A', link: 'one'},
{value: 'one-b', label: 'One B', link: 'one'},
{value: 'two-a', label: 'Two A', link: 'two'},
{value: 'two-b', label: 'Two B', link: 'two'}
];

const filteredOptions = options2.filter(o => o.link === this.state.selectedOption.value);

return (
<div style={style}>
<div>
<label>Select one</label>
<select
value={this.state.selectedOption.value}
onChange={this.handleChange1}
>
{options1.map(tag => <option>{tag.value}</option>)}
</select>

</div>
<div>
<label>Then the other</label>
<select
value={this.state.selectedOption2.value}
onChange={this.handleChange2}
>
{filteredOptions.map(tag => <option>{tag.value}</option>)}
</select>

</div>
</div>
)
}


The first mapping of options1 works just fine. However, my select tag gets rendered empty for the mapping of filteredOptions.



I have no idea why it won't work. Anyone happen to have an idea?



Full code: https://www.codepile.net/pile/evNqergA










share|improve this question

























  • How is this.state.selectedOption initialized?

    – Frank Modica
    Nov 14 '18 at 12:58













  • I think that this.state.selectedOption is empty from some reason ,could you share full code please

    – OriEng
    Nov 14 '18 at 12:59











  • @OriEng I added a link to the full code to my question.

    – Emilie
    Nov 14 '18 at 14:43











  • @Emilie Can you tell me what the value you get here ? handleChange1(selectedOption) , I mean what is 'selectedOption' when you change value on select? I think it's wrong value and the only thing you need to change is to selectedOption.target.value

    – OriEng
    Nov 14 '18 at 16:35


















2















I made a component containing two dropdown lists. The options in the second dropdown menu is supposed to be filtered depending on the selected option from the first dropdown menu.



Now, I want to map a filtered array that is stored in a const similary to the way i map options1:



render() {

const options1 = [
{value: 'one', label: 'One'},
{value: 'two', label: 'Two'}
];



const options2 = [
{value: 'one-a', label: 'One A', link: 'one'},
{value: 'one-b', label: 'One B', link: 'one'},
{value: 'two-a', label: 'Two A', link: 'two'},
{value: 'two-b', label: 'Two B', link: 'two'}
];

const filteredOptions = options2.filter(o => o.link === this.state.selectedOption.value);

return (
<div style={style}>
<div>
<label>Select one</label>
<select
value={this.state.selectedOption.value}
onChange={this.handleChange1}
>
{options1.map(tag => <option>{tag.value}</option>)}
</select>

</div>
<div>
<label>Then the other</label>
<select
value={this.state.selectedOption2.value}
onChange={this.handleChange2}
>
{filteredOptions.map(tag => <option>{tag.value}</option>)}
</select>

</div>
</div>
)
}


The first mapping of options1 works just fine. However, my select tag gets rendered empty for the mapping of filteredOptions.



I have no idea why it won't work. Anyone happen to have an idea?



Full code: https://www.codepile.net/pile/evNqergA










share|improve this question

























  • How is this.state.selectedOption initialized?

    – Frank Modica
    Nov 14 '18 at 12:58













  • I think that this.state.selectedOption is empty from some reason ,could you share full code please

    – OriEng
    Nov 14 '18 at 12:59











  • @OriEng I added a link to the full code to my question.

    – Emilie
    Nov 14 '18 at 14:43











  • @Emilie Can you tell me what the value you get here ? handleChange1(selectedOption) , I mean what is 'selectedOption' when you change value on select? I think it's wrong value and the only thing you need to change is to selectedOption.target.value

    – OriEng
    Nov 14 '18 at 16:35
















2












2








2








I made a component containing two dropdown lists. The options in the second dropdown menu is supposed to be filtered depending on the selected option from the first dropdown menu.



Now, I want to map a filtered array that is stored in a const similary to the way i map options1:



render() {

const options1 = [
{value: 'one', label: 'One'},
{value: 'two', label: 'Two'}
];



const options2 = [
{value: 'one-a', label: 'One A', link: 'one'},
{value: 'one-b', label: 'One B', link: 'one'},
{value: 'two-a', label: 'Two A', link: 'two'},
{value: 'two-b', label: 'Two B', link: 'two'}
];

const filteredOptions = options2.filter(o => o.link === this.state.selectedOption.value);

return (
<div style={style}>
<div>
<label>Select one</label>
<select
value={this.state.selectedOption.value}
onChange={this.handleChange1}
>
{options1.map(tag => <option>{tag.value}</option>)}
</select>

</div>
<div>
<label>Then the other</label>
<select
value={this.state.selectedOption2.value}
onChange={this.handleChange2}
>
{filteredOptions.map(tag => <option>{tag.value}</option>)}
</select>

</div>
</div>
)
}


The first mapping of options1 works just fine. However, my select tag gets rendered empty for the mapping of filteredOptions.



I have no idea why it won't work. Anyone happen to have an idea?



Full code: https://www.codepile.net/pile/evNqergA










share|improve this question
















I made a component containing two dropdown lists. The options in the second dropdown menu is supposed to be filtered depending on the selected option from the first dropdown menu.



Now, I want to map a filtered array that is stored in a const similary to the way i map options1:



render() {

const options1 = [
{value: 'one', label: 'One'},
{value: 'two', label: 'Two'}
];



const options2 = [
{value: 'one-a', label: 'One A', link: 'one'},
{value: 'one-b', label: 'One B', link: 'one'},
{value: 'two-a', label: 'Two A', link: 'two'},
{value: 'two-b', label: 'Two B', link: 'two'}
];

const filteredOptions = options2.filter(o => o.link === this.state.selectedOption.value);

return (
<div style={style}>
<div>
<label>Select one</label>
<select
value={this.state.selectedOption.value}
onChange={this.handleChange1}
>
{options1.map(tag => <option>{tag.value}</option>)}
</select>

</div>
<div>
<label>Then the other</label>
<select
value={this.state.selectedOption2.value}
onChange={this.handleChange2}
>
{filteredOptions.map(tag => <option>{tag.value}</option>)}
</select>

</div>
</div>
)
}


The first mapping of options1 works just fine. However, my select tag gets rendered empty for the mapping of filteredOptions.



I have no idea why it won't work. Anyone happen to have an idea?



Full code: https://www.codepile.net/pile/evNqergA







javascript reactjs dictionary filter render






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 14:41







Emilie

















asked Nov 14 '18 at 12:54









EmilieEmilie

133




133













  • How is this.state.selectedOption initialized?

    – Frank Modica
    Nov 14 '18 at 12:58













  • I think that this.state.selectedOption is empty from some reason ,could you share full code please

    – OriEng
    Nov 14 '18 at 12:59











  • @OriEng I added a link to the full code to my question.

    – Emilie
    Nov 14 '18 at 14:43











  • @Emilie Can you tell me what the value you get here ? handleChange1(selectedOption) , I mean what is 'selectedOption' when you change value on select? I think it's wrong value and the only thing you need to change is to selectedOption.target.value

    – OriEng
    Nov 14 '18 at 16:35





















  • How is this.state.selectedOption initialized?

    – Frank Modica
    Nov 14 '18 at 12:58













  • I think that this.state.selectedOption is empty from some reason ,could you share full code please

    – OriEng
    Nov 14 '18 at 12:59











  • @OriEng I added a link to the full code to my question.

    – Emilie
    Nov 14 '18 at 14:43











  • @Emilie Can you tell me what the value you get here ? handleChange1(selectedOption) , I mean what is 'selectedOption' when you change value on select? I think it's wrong value and the only thing you need to change is to selectedOption.target.value

    – OriEng
    Nov 14 '18 at 16:35



















How is this.state.selectedOption initialized?

– Frank Modica
Nov 14 '18 at 12:58







How is this.state.selectedOption initialized?

– Frank Modica
Nov 14 '18 at 12:58















I think that this.state.selectedOption is empty from some reason ,could you share full code please

– OriEng
Nov 14 '18 at 12:59





I think that this.state.selectedOption is empty from some reason ,could you share full code please

– OriEng
Nov 14 '18 at 12:59













@OriEng I added a link to the full code to my question.

– Emilie
Nov 14 '18 at 14:43





@OriEng I added a link to the full code to my question.

– Emilie
Nov 14 '18 at 14:43













@Emilie Can you tell me what the value you get here ? handleChange1(selectedOption) , I mean what is 'selectedOption' when you change value on select? I think it's wrong value and the only thing you need to change is to selectedOption.target.value

– OriEng
Nov 14 '18 at 16:35







@Emilie Can you tell me what the value you get here ? handleChange1(selectedOption) , I mean what is 'selectedOption' when you change value on select? I think it's wrong value and the only thing you need to change is to selectedOption.target.value

– OriEng
Nov 14 '18 at 16:35














3 Answers
3






active

oldest

votes


















0














Here is a working example for what you're trying to do.



import React, { Component } from "react";

const options1 = [
{ value: "one", label: "One" },
{ value: "two", label: "Two" }
];

const options2 = [
{ value: "one-a", label: "One A", link: "one" },
{ value: "one-b", label: "One B", link: "one" },
{ value: "two-a", label: "Two A", link: "two" },
{ value: "two-b", label: "Two B", link: "two" }
];

export default class SelectsComponent extends Component {
handleChange1 = e => {
console.log(e);
this.setState({
selectedOption: { value: e.target.value }
});
};

handleChange2 = e => {
this.setState({
selectedOption2: { value: e.target.value }
});
};

constructor(props) {
super(props);
this.state = {
selectedOption: { value: "one" },
selectedOption2: { value: "one-a" }
};
}

render() {
const filteredOptions = options2.filter(
o => o.link === this.state.selectedOption.value
);

return (
<div>
<div>
<label>Select one</label>
<select
value={this.state.selectedOption.value}
onChange={this.handleChange1}
>
{options1.map(tag => (
<option>{tag.value}</option>
))}
</select>
</div>
<div>
<label>Then the other</label>
<select
value={this.state.selectedOption2.value}
onChange={this.handleChange2}
>
{filteredOptions.map(tag => (
<option>{tag.value}</option>
))}
</select>
</div>
</div>
);
}
}





share|improve this answer


























  • This implementation works like a charm. Thank you so much!

    – Emilie
    Nov 14 '18 at 14:54











  • @Emilie don't forget to upvote and mark as the right answer ;) thanks

    – kemicofa
    Nov 14 '18 at 15:19



















0














In your scenario filteredOptions would be an empty Array.



The check for o.link === this.state.selectedOption.value is doing something wrong.



Check the value of this.state.selectedOption.value, this is not set correctly.






share|improve this answer































    0














    The best way to do this wouldn't be inside of the render method.



    1) move your arrays into state or other instance members
    2) make sure to only trigger the sorting once



    this.setState(lastState => ({
    ...lastState,
    options2: lastState.options2.filter(yourFilterFn)
    }))


    3) map the filtered array into JSX inside of your render method



    Side-note: this uses immutable setState (which I gather is important given you create a new filtered array from the options2 in your example). If you want to follow an even more functional pattern, you can do the filtering inside of your render method (although I don't recommend it). If you decided to filter inside of your render method, consider using a memoization technique from React 16.7 (which is currently in Alpha).






    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300748%2fmap-a-filtered-array-in-react%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      Here is a working example for what you're trying to do.



      import React, { Component } from "react";

      const options1 = [
      { value: "one", label: "One" },
      { value: "two", label: "Two" }
      ];

      const options2 = [
      { value: "one-a", label: "One A", link: "one" },
      { value: "one-b", label: "One B", link: "one" },
      { value: "two-a", label: "Two A", link: "two" },
      { value: "two-b", label: "Two B", link: "two" }
      ];

      export default class SelectsComponent extends Component {
      handleChange1 = e => {
      console.log(e);
      this.setState({
      selectedOption: { value: e.target.value }
      });
      };

      handleChange2 = e => {
      this.setState({
      selectedOption2: { value: e.target.value }
      });
      };

      constructor(props) {
      super(props);
      this.state = {
      selectedOption: { value: "one" },
      selectedOption2: { value: "one-a" }
      };
      }

      render() {
      const filteredOptions = options2.filter(
      o => o.link === this.state.selectedOption.value
      );

      return (
      <div>
      <div>
      <label>Select one</label>
      <select
      value={this.state.selectedOption.value}
      onChange={this.handleChange1}
      >
      {options1.map(tag => (
      <option>{tag.value}</option>
      ))}
      </select>
      </div>
      <div>
      <label>Then the other</label>
      <select
      value={this.state.selectedOption2.value}
      onChange={this.handleChange2}
      >
      {filteredOptions.map(tag => (
      <option>{tag.value}</option>
      ))}
      </select>
      </div>
      </div>
      );
      }
      }





      share|improve this answer


























      • This implementation works like a charm. Thank you so much!

        – Emilie
        Nov 14 '18 at 14:54











      • @Emilie don't forget to upvote and mark as the right answer ;) thanks

        – kemicofa
        Nov 14 '18 at 15:19
















      0














      Here is a working example for what you're trying to do.



      import React, { Component } from "react";

      const options1 = [
      { value: "one", label: "One" },
      { value: "two", label: "Two" }
      ];

      const options2 = [
      { value: "one-a", label: "One A", link: "one" },
      { value: "one-b", label: "One B", link: "one" },
      { value: "two-a", label: "Two A", link: "two" },
      { value: "two-b", label: "Two B", link: "two" }
      ];

      export default class SelectsComponent extends Component {
      handleChange1 = e => {
      console.log(e);
      this.setState({
      selectedOption: { value: e.target.value }
      });
      };

      handleChange2 = e => {
      this.setState({
      selectedOption2: { value: e.target.value }
      });
      };

      constructor(props) {
      super(props);
      this.state = {
      selectedOption: { value: "one" },
      selectedOption2: { value: "one-a" }
      };
      }

      render() {
      const filteredOptions = options2.filter(
      o => o.link === this.state.selectedOption.value
      );

      return (
      <div>
      <div>
      <label>Select one</label>
      <select
      value={this.state.selectedOption.value}
      onChange={this.handleChange1}
      >
      {options1.map(tag => (
      <option>{tag.value}</option>
      ))}
      </select>
      </div>
      <div>
      <label>Then the other</label>
      <select
      value={this.state.selectedOption2.value}
      onChange={this.handleChange2}
      >
      {filteredOptions.map(tag => (
      <option>{tag.value}</option>
      ))}
      </select>
      </div>
      </div>
      );
      }
      }





      share|improve this answer


























      • This implementation works like a charm. Thank you so much!

        – Emilie
        Nov 14 '18 at 14:54











      • @Emilie don't forget to upvote and mark as the right answer ;) thanks

        – kemicofa
        Nov 14 '18 at 15:19














      0












      0








      0







      Here is a working example for what you're trying to do.



      import React, { Component } from "react";

      const options1 = [
      { value: "one", label: "One" },
      { value: "two", label: "Two" }
      ];

      const options2 = [
      { value: "one-a", label: "One A", link: "one" },
      { value: "one-b", label: "One B", link: "one" },
      { value: "two-a", label: "Two A", link: "two" },
      { value: "two-b", label: "Two B", link: "two" }
      ];

      export default class SelectsComponent extends Component {
      handleChange1 = e => {
      console.log(e);
      this.setState({
      selectedOption: { value: e.target.value }
      });
      };

      handleChange2 = e => {
      this.setState({
      selectedOption2: { value: e.target.value }
      });
      };

      constructor(props) {
      super(props);
      this.state = {
      selectedOption: { value: "one" },
      selectedOption2: { value: "one-a" }
      };
      }

      render() {
      const filteredOptions = options2.filter(
      o => o.link === this.state.selectedOption.value
      );

      return (
      <div>
      <div>
      <label>Select one</label>
      <select
      value={this.state.selectedOption.value}
      onChange={this.handleChange1}
      >
      {options1.map(tag => (
      <option>{tag.value}</option>
      ))}
      </select>
      </div>
      <div>
      <label>Then the other</label>
      <select
      value={this.state.selectedOption2.value}
      onChange={this.handleChange2}
      >
      {filteredOptions.map(tag => (
      <option>{tag.value}</option>
      ))}
      </select>
      </div>
      </div>
      );
      }
      }





      share|improve this answer















      Here is a working example for what you're trying to do.



      import React, { Component } from "react";

      const options1 = [
      { value: "one", label: "One" },
      { value: "two", label: "Two" }
      ];

      const options2 = [
      { value: "one-a", label: "One A", link: "one" },
      { value: "one-b", label: "One B", link: "one" },
      { value: "two-a", label: "Two A", link: "two" },
      { value: "two-b", label: "Two B", link: "two" }
      ];

      export default class SelectsComponent extends Component {
      handleChange1 = e => {
      console.log(e);
      this.setState({
      selectedOption: { value: e.target.value }
      });
      };

      handleChange2 = e => {
      this.setState({
      selectedOption2: { value: e.target.value }
      });
      };

      constructor(props) {
      super(props);
      this.state = {
      selectedOption: { value: "one" },
      selectedOption2: { value: "one-a" }
      };
      }

      render() {
      const filteredOptions = options2.filter(
      o => o.link === this.state.selectedOption.value
      );

      return (
      <div>
      <div>
      <label>Select one</label>
      <select
      value={this.state.selectedOption.value}
      onChange={this.handleChange1}
      >
      {options1.map(tag => (
      <option>{tag.value}</option>
      ))}
      </select>
      </div>
      <div>
      <label>Then the other</label>
      <select
      value={this.state.selectedOption2.value}
      onChange={this.handleChange2}
      >
      {filteredOptions.map(tag => (
      <option>{tag.value}</option>
      ))}
      </select>
      </div>
      </div>
      );
      }
      }






      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Nov 14 '18 at 15:21

























      answered Nov 14 '18 at 13:21









      kemicofakemicofa

      10k43881




      10k43881













      • This implementation works like a charm. Thank you so much!

        – Emilie
        Nov 14 '18 at 14:54











      • @Emilie don't forget to upvote and mark as the right answer ;) thanks

        – kemicofa
        Nov 14 '18 at 15:19



















      • This implementation works like a charm. Thank you so much!

        – Emilie
        Nov 14 '18 at 14:54











      • @Emilie don't forget to upvote and mark as the right answer ;) thanks

        – kemicofa
        Nov 14 '18 at 15:19

















      This implementation works like a charm. Thank you so much!

      – Emilie
      Nov 14 '18 at 14:54





      This implementation works like a charm. Thank you so much!

      – Emilie
      Nov 14 '18 at 14:54













      @Emilie don't forget to upvote and mark as the right answer ;) thanks

      – kemicofa
      Nov 14 '18 at 15:19





      @Emilie don't forget to upvote and mark as the right answer ;) thanks

      – kemicofa
      Nov 14 '18 at 15:19













      0














      In your scenario filteredOptions would be an empty Array.



      The check for o.link === this.state.selectedOption.value is doing something wrong.



      Check the value of this.state.selectedOption.value, this is not set correctly.






      share|improve this answer




























        0














        In your scenario filteredOptions would be an empty Array.



        The check for o.link === this.state.selectedOption.value is doing something wrong.



        Check the value of this.state.selectedOption.value, this is not set correctly.






        share|improve this answer


























          0












          0








          0







          In your scenario filteredOptions would be an empty Array.



          The check for o.link === this.state.selectedOption.value is doing something wrong.



          Check the value of this.state.selectedOption.value, this is not set correctly.






          share|improve this answer













          In your scenario filteredOptions would be an empty Array.



          The check for o.link === this.state.selectedOption.value is doing something wrong.



          Check the value of this.state.selectedOption.value, this is not set correctly.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 14 '18 at 12:59









          AyushyaAyushya

          5561410




          5561410























              0














              The best way to do this wouldn't be inside of the render method.



              1) move your arrays into state or other instance members
              2) make sure to only trigger the sorting once



              this.setState(lastState => ({
              ...lastState,
              options2: lastState.options2.filter(yourFilterFn)
              }))


              3) map the filtered array into JSX inside of your render method



              Side-note: this uses immutable setState (which I gather is important given you create a new filtered array from the options2 in your example). If you want to follow an even more functional pattern, you can do the filtering inside of your render method (although I don't recommend it). If you decided to filter inside of your render method, consider using a memoization technique from React 16.7 (which is currently in Alpha).






              share|improve this answer




























                0














                The best way to do this wouldn't be inside of the render method.



                1) move your arrays into state or other instance members
                2) make sure to only trigger the sorting once



                this.setState(lastState => ({
                ...lastState,
                options2: lastState.options2.filter(yourFilterFn)
                }))


                3) map the filtered array into JSX inside of your render method



                Side-note: this uses immutable setState (which I gather is important given you create a new filtered array from the options2 in your example). If you want to follow an even more functional pattern, you can do the filtering inside of your render method (although I don't recommend it). If you decided to filter inside of your render method, consider using a memoization technique from React 16.7 (which is currently in Alpha).






                share|improve this answer


























                  0












                  0








                  0







                  The best way to do this wouldn't be inside of the render method.



                  1) move your arrays into state or other instance members
                  2) make sure to only trigger the sorting once



                  this.setState(lastState => ({
                  ...lastState,
                  options2: lastState.options2.filter(yourFilterFn)
                  }))


                  3) map the filtered array into JSX inside of your render method



                  Side-note: this uses immutable setState (which I gather is important given you create a new filtered array from the options2 in your example). If you want to follow an even more functional pattern, you can do the filtering inside of your render method (although I don't recommend it). If you decided to filter inside of your render method, consider using a memoization technique from React 16.7 (which is currently in Alpha).






                  share|improve this answer













                  The best way to do this wouldn't be inside of the render method.



                  1) move your arrays into state or other instance members
                  2) make sure to only trigger the sorting once



                  this.setState(lastState => ({
                  ...lastState,
                  options2: lastState.options2.filter(yourFilterFn)
                  }))


                  3) map the filtered array into JSX inside of your render method



                  Side-note: this uses immutable setState (which I gather is important given you create a new filtered array from the options2 in your example). If you want to follow an even more functional pattern, you can do the filtering inside of your render method (although I don't recommend it). If you decided to filter inside of your render method, consider using a memoization technique from React 16.7 (which is currently in Alpha).







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 14 '18 at 13:12









                  Harry SolovayHarry Solovay

                  156




                  156






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300748%2fmap-a-filtered-array-in-react%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Florida Star v. B. J. F.

                      Danny Elfman

                      Lugert, Oklahoma