<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Oni Benjamin on Medium]]></title>
        <description><![CDATA[Stories by Oni Benjamin on Medium]]></description>
        <link>https://medium.com/@onibenjo?source=rss-10030806cc64------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*cucaUVZC64Y4ooT1jQr4QA.jpeg</url>
            <title>Stories by Oni Benjamin on Medium</title>
            <link>https://medium.com/@onibenjo?source=rss-10030806cc64------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 10 Jun 2026 13:31:06 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@onibenjo/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Handling SPA subroute issue with Vercel]]></title>
            <link>https://medium.com/@onibenjo/handling-spa-subroute-issue-with-vercel-27a4d6843af7?source=rss-10030806cc64------2</link>
            <guid isPermaLink="false">https://medium.com/p/27a4d6843af7</guid>
            <category><![CDATA[single-page-applications]]></category>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[vercel]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[deployment]]></category>
            <dc:creator><![CDATA[Oni Benjamin]]></dc:creator>
            <pubDate>Mon, 03 Jan 2022 23:28:08 GMT</pubDate>
            <atom:updated>2022-01-03T23:28:08.465Z</atom:updated>
            <content:encoded><![CDATA[<h3>Problem</h3><p>When you deploy your build files to vercel, sub-routes/sub-pages display error 404: not found errors.</p><p>It means the servers don’t know how to handle sub-pages (URLs) like example.com/another-page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/908/1*lRETnFsdJ96Ul0qnSzjebw.png" /><figcaption>Error 404 display message</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*u28DoSMdf6bNVpb8.png" /></figure><h3>Solution</h3><p>Create a vercel.json file at the root directory of your project and add redirect rules like below.</p><pre>{<br>  &quot;routes&quot;: [{ &quot;src&quot;: &quot;/[^.]+&quot;, &quot;dest&quot;: &quot;/&quot;, &quot;status&quot;: 200 }]<br>}</pre><p>That’s it!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=27a4d6843af7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Beginner’s guide to React Navigation v5 (Part 1)]]></title>
            <link>https://medium.com/@onibenjo/beginners-guide-to-react-navigation-v5-part-1-c10b0900d444?source=rss-10030806cc64------2</link>
            <guid isPermaLink="false">https://medium.com/p/c10b0900d444</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[expo]]></category>
            <category><![CDATA[react-native-navigation]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <category><![CDATA[react-native]]></category>
            <dc:creator><![CDATA[Oni Benjamin]]></dc:creator>
            <pubDate>Sat, 19 Sep 2020 15:00:16 GMT</pubDate>
            <atom:updated>2020-09-19T15:00:16.403Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/640/1*LnDIAFmJE19BBG6XTBJvEg.jpeg" /></figure><p>We will be looking at the fundamentals of <a href="https://reactnavigation.org/">React Navigation</a> and how to use it to navigate through a full-blown React Native app. We will not be using <a href="https://github.com/wix/react-native-navigation">React Native Navigation</a> (by Wix) here.</p><p>In order to install React Navigation, we will be following the <a href="https://reactnavigation.org/docs/getting-started">installation instructions</a> from the official documentation, because the dependencies might change over time. Feel free to use yarn, but I will use npm for the sake of this tutorial.</p><p>I will be using a bare react native app, feel free to use expo as well.</p><p>So if you haven’t initialized a react native project before, follow this guide to ensure you have the right tools to initialize a project <a href="https://reactnative.dev/docs/0.60/getting-started">https://reactnative.dev/docs/0.60/getting-started</a></p><pre>npx react-native init AwesomeProject<br>cd AwesomeProject </pre><pre>// for android<br>react-native run-android<br>// for ios<br>react-native run-ios</pre><p>Installing react-navigation</p><pre>npm install @react-navigation/native</pre><p>@react-navigation/native is the core library for react-navigation. Doesn’t do much on its own, so we will need some dependencies.</p><pre>npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view</pre><p>From React Native 0.60 and higher, <a href="https://github.com/react-native-community/cli/blob/master/docs/autolinking.md">linking is automatic</a>. So you don’t need to run react-native link.</p><p>To finalize the installation of react-native-gesture-handler, add the following at the top (make sure it&#39;s at the top and there&#39;s nothing else before it) of your entry file, such as index.js or App.js:</p><pre><em>import</em> &#39;react-native-gesture-handler&#39;</pre><h3><strong>Stack Navigation</strong></h3><p>We will explore <strong>Stack Navigation first</strong>. We will start out with a basic App component in our <em>src/App.js</em> file.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/22af655541a8a0bc7db570c192400162/href">https://medium.com/media/22af655541a8a0bc7db570c192400162/href</a></iframe><p>We are going to implement two screens.</p><p>These will allow us to navigate from one to another eventually. That’s where React Navigation’s most basic navigation technique Stack Navigation comes into play. We start by creating both screens in their dedicated folders.</p><p>First, we will create a folder called <em>src </em>in the root folder and create a folder inside the src folder called<em> screens </em>and create our dedicated screens inside.</p><p>Our first screen would be Home.js</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/90ee451ab07e1c569e17cc6c14f4d51e/href">https://medium.com/media/90ee451ab07e1c569e17cc6c14f4d51e/href</a></iframe><p>We will create another screen called About.js</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/b031953587fe8ef2d8b4bd6840a692b6/href">https://medium.com/media/b031953587fe8ef2d8b4bd6840a692b6/href</a></iframe><p>Now we have the screens, but we will need to create stacks from each screen.</p><pre>npm install @react-navigation/stack</pre><p>We will update our App.js as follows:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/2c1ecb5032207ac0988714f32e1c642f/href">https://medium.com/media/2c1ecb5032207ac0988714f32e1c642f/href</a></iframe><p>All navigations techniques (e.g. Stack Navigation) in React Navigation need to have the NavigationContainer component as a wrapping component (kinda like Provider from redux). Wecalled this stack RootStack, you can call it anything, because it&#39;s the first level in our <strong>navigation hierarchy</strong>. Each Stack&#39;s Screen component takes a componentand a name, in our case, these are the About and Home screens and their respective names.</p><p>component refers to the component responsible for that screen and name refers to the name being referred to the screen so that other screens can navigate to.</p><p>Once you restart your app, you should see the rendered About screen. The first screen (here AboutScreen) in the Stack Navigation gets rendered. If you swap both screens&#39; order, you should see the Home screen rendered first. You could also set a initialRouteName=&quot;Home&quot; prop in the RootStack&#39;s Navigator component to force one of the screens -- in this case the Home screen -- to be the initially displayed screen.</p><p>So now, we are going to set up routing between pages.</p><p>We have two pages in our React Native app, but no way to navigate from one page to another page. This is the next feature you are going to learn about here. Next, we will implement a button that enables us to navigate from the About screen to the Home screen.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/6a25e7478acb6507755dbec4e33904e2/href">https://medium.com/media/6a25e7478acb6507755dbec4e33904e2/href</a></iframe><p>RootStack.Screen injected some props to the screen components because both screen components are child components of the Stack Navigation, one of which is the navigation prop for navigating from one page to another.</p><p>To navigate, we need a clickable component, so we used a Button component from react-native. Notice that the navigate function takes the name of a screen to navigate to, which has to be the name of the screen indicated in the RootStack component.</p><p>Check your app again. You should be able to go from the initially rendered About screen to the Home screen. A bonus of the Stack Navigation is the back button on the Home screen, which allows you to navigate back from Home to About screen, without further implementations on the Home screen.</p><p>And that’s the most basic implementation of React Navigation in a react-native project. There are still more APIs to explore in the react-navigation stack, such as the Drawer and Tab Stacks. We will explore those in another writeup.</p><p>You can hit me up on twitter @<a href="https://www.twitter.com/onibenjo">onibenjo</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c10b0900d444" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[BUG REPORT ON Timbu.com]]></title>
            <link>https://medium.com/@onibenjo/bug-report-on-timbu-com-6a870caff5ee?source=rss-10030806cc64------2</link>
            <guid isPermaLink="false">https://medium.com/p/6a870caff5ee</guid>
            <category><![CDATA[bugs]]></category>
            <category><![CDATA[bug-fixes]]></category>
            <category><![CDATA[web-design]]></category>
            <category><![CDATA[timbu]]></category>
            <dc:creator><![CDATA[Oni Benjamin]]></dc:creator>
            <pubDate>Tue, 02 Apr 2019 12:41:40 GMT</pubDate>
            <atom:updated>2019-04-02T12:41:40.430Z</atom:updated>
            <content:encoded><![CDATA[<h4>My HNG Internship Trip</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5cJkiFMj-3qpfMQa3-tdLw.jpeg" /><figcaption><a href="http://www.timbu.com">www.timbu.com</a> homepage header</figcaption></figure><p>This is a bug report on the Timbu’s webpage</p><p><a href="https://www.timbu.com">https://timbu.com</a></p><h3><strong>THE MENU BAR</strong></h3><p>Most of us are pretty familiar with responsive Web design by now. Basically, it uses a combination of a fluid layout and media queries to alter the design and layout of a website to fit different screen sizes.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/956/1*04umyaGAuhdEZjbsiwqaxg.jpeg" /><figcaption>timbu homepage https://timbu.com</figcaption></figure><p>On smaller screen sizes, clicking the menubar doesn’t pop up the menu.</p><h3><strong>THE FOOTER</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JWs2asKlPIW0zDko3mFOrQ.jpeg" /></figure><p><strong>Social Links</strong>: The link to their facebook is not functional.</p><p><strong>Navigation links</strong>: Apart from the <em>countries</em> link under the LOCATIONS section, all other links are not functional.</p><h3>NEWSLETTER</h3><p>Subscribing to their newsletter returns a page with a 200 text.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/895/1*VqOfiSD55x3vr4e4RUArIA.jpeg" /></figure><p>My bug reports on <a href="https://timbu.com">https://timbu.com</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6a870caff5ee" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[MY HNG INTERNSHIP TRIP]]></title>
            <link>https://medium.com/@onibenjo/my-hng-internship-trip-34a5a971d904?source=rss-10030806cc64------2</link>
            <guid isPermaLink="false">https://medium.com/p/34a5a971d904</guid>
            <category><![CDATA[github]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[hnginternship]]></category>
            <category><![CDATA[design]]></category>
            <dc:creator><![CDATA[Oni Benjamin]]></dc:creator>
            <pubDate>Mon, 01 Apr 2019 23:23:01 GMT</pubDate>
            <atom:updated>2019-04-01T23:38:06.202Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/225/1*8p0SPgctniuAEvKir8VkGQ.jpeg" /><figcaption>Developers on a desk working</figcaption></figure><h4>Part 1</h4><h4>THE GIT TASK</h4><p>On the 30th, two tasks were dropped. One of which was to create a github account, make a repo, create a file using Git and make commits of at least two changes to the file.</p><p>This went quite easy for me as I have already done the task even before it was given.</p><p>The second is a design task.</p><h4>THE FIGMA PROFILE DESIGN TASK</h4><p>We were asked to make a profile design on figma which includes links to about, project and blog pages. With also icons that links to our Social Media platforms. Yes, it should also include our pictures as well.</p><p>I also found this task quite easy to accomplish. Even though i have never worked with Figma, I have experience with Adobe Xd and that helped a lot.</p><p>This is the design below! I hope it looks nice.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/538/1*Bv7J6BmCAzANp52IIdZhCA.png" /><figcaption>Figma design for task 2</figcaption></figure><h4>THE BLOG PAGE TASK</h4><p>The last task was to make open a personal blog where i would make posts about my progress as the internship journey proceed. That I have done and that’s why this is my first post for the Internship series.</p><p>I hope you guys enjoyed.</p><p>My portfolio:</p><p>onibenjo.github.io/full-portfolio</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=34a5a971d904" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>