<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fatimah</title>
    <description>The latest articles on DEV Community by Fatimah (@fzahra).</description>
    <link>https://dev.to/fzahra</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F158970%2Ff5730a4d-9585-4f6b-8a42-02346447370d.jpeg</url>
      <title>DEV Community: Fatimah</title>
      <link>https://dev.to/fzahra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fzahra"/>
    <language>en</language>
    <item>
      <title>Find the right git commands without digging through the web</title>
      <dc:creator>Fatimah</dc:creator>
      <pubDate>Sat, 25 May 2019 15:19:19 +0000</pubDate>
      <link>https://dev.to/fzahra/find-the-right-git-commands-without-digging-through-the-web-1bg9</link>
      <guid>https://dev.to/fzahra/find-the-right-git-commands-without-digging-through-the-web-1bg9</guid>
      <description>&lt;p&gt;I and two of my colleagues built this nifty tool to help devs find the right git commands in seconds. Enjoy!&lt;/p&gt;

&lt;p&gt;URL: &lt;a href="https://gitexplorer.com"&gt;https://gitexplorer.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>productivity</category>
      <category>gitcommands</category>
      <category>easygit</category>
    </item>
    <item>
      <title>React-Select: Pre-select an option with an id only, the easy way.</title>
      <dc:creator>Fatimah</dc:creator>
      <pubDate>Sat, 25 May 2019 15:11:20 +0000</pubDate>
      <link>https://dev.to/fzahra/react-select-select-an-option-with-an-id-only-the-easy-way-4cmp</link>
      <guid>https://dev.to/fzahra/react-select-select-an-option-with-an-id-only-the-easy-way-4cmp</guid>
      <description>&lt;p&gt;I recently worked on an application where my colleague was using the React-Select package to manage Select boxes. I was struck by the manner in which a selected option was picked. You had to specify an object like so: &lt;br&gt;
&lt;br&gt;
&lt;code&gt;value={{value: optionId, label: optionName}}&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;For most people, this is really inconvenient because you are most likely getting the id only from the database e.g. pre-selecting the city a company belongs to, from a list of cities and only the cityId is saved in the company object i.e &lt;code&gt;company: {id, name, address, cityId}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Typical ReactSelect component:&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;code&gt;export const Select = ({&lt;br&gt;
  label, isMulti, options, placeholder, onChange, value&lt;br&gt;
}) =&amp;gt; (&lt;br&gt;
  &amp;lt;FormGroup className="settings__form-group"&amp;gt;&lt;br&gt;
    &amp;lt;Label className="form__label" for="name"&amp;gt;&lt;br&gt;
      {label}&lt;br&gt;
      &amp;lt;/Label&amp;gt;&lt;br&gt;
    &amp;lt;ReactSelect&lt;br&gt;
      className="modal-select form__select"&lt;br&gt;
      classNamePrefix="modal-select"&lt;br&gt;
      isMulti={isMulti}&lt;br&gt;
      options={options}&lt;br&gt;
      placeholder={placeholder}&lt;br&gt;
      onChange={onChange}&lt;br&gt;
      value={value}&lt;br&gt;
    /&amp;gt;&lt;br&gt;
  &amp;lt;/FormGroup&amp;gt;&lt;br&gt;
);&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;My solution was to use the defaultValue and the options to generate the value object:&lt;/p&gt;

&lt;h1&gt;
  
  
  1: To make things neat, I created a function to generate the value object
&lt;/h1&gt;

&lt;p&gt;&lt;br&gt;
&lt;code&gt;const generateValue = (options, defaultValue, isMulti = false) =&amp;gt; {&lt;br&gt;
    const value = isMulti ? options.filter(option =&amp;gt; &lt;br&gt;
      defaultValue.includes(option.value))&lt;br&gt;
    : options.find(option =&amp;gt; option.value === defaultValue);&lt;br&gt;
  return value;&lt;br&gt;
};&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  2: I assigned this function to the value props of the ReactSelect component.
&lt;/h1&gt;

&lt;p&gt;&lt;br&gt;
&lt;code&gt;export const Select = ({&lt;br&gt;
  label, isMulti, options, placeholder, onChange, defaultValue&lt;br&gt;
}) =&amp;gt; (&lt;br&gt;
  &amp;lt;FormGroup className="settings__form-group"&amp;gt;&lt;br&gt;
    &amp;lt;Label className="form__label" for="name"&amp;gt;&lt;br&gt;
      {label}&lt;br&gt;
      &amp;lt;/Label&amp;gt;&lt;br&gt;
    &amp;lt;ReactSelect&lt;br&gt;
      className="modal-select form__select"&lt;br&gt;
      classNamePrefix="modal-select"&lt;br&gt;
      isSearchable={false}&lt;br&gt;
      isMulti={isMulti}&lt;br&gt;
      options={options}&lt;br&gt;
      placeholder={placeholder}&lt;br&gt;
      onChange={onChange}&lt;br&gt;
      styles={selectStyle}&lt;br&gt;
      value={options.length ? generateValue(options, defaultValue, isMulti) : '' }&lt;br&gt;
    /&amp;gt;&lt;br&gt;
  &amp;lt;/FormGroup&amp;gt;&lt;br&gt;
);&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Viola!!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gist.github.com/FatimahSanni/b37dc7437a34480747ba306985c9b827"&gt;Github Gist&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactselect</category>
      <category>reacttip</category>
    </item>
  </channel>
</rss>
