How to Build a Serverless, SEO-Friendly React Blog – InApps Technology is an article under the topic Software Development Many of you are most interested in today !! Today, let’s InApps.net learn How to Build a Serverless, SEO-Friendly React Blog – InApps Technology in today’s post !

Read more about How to Build a Serverless, SEO-Friendly React Blog – InApps Technology at Wikipedia



You can find content about How to Build a Serverless, SEO-Friendly React Blog – InApps Technology from the Wikipedia website

<span class=“pl-k”>import</span> <span class=“pl-smi”>React</span>, { <span class=“pl-smi”>Component</span> } <span class=“pl-k”>from</span> <span class=“pl-s”><span class=“pl-pds”>‘</span>react<span class=”pl-pds”>’</span></span>;

<span class=“pl-k”>import</span> { <span class=“pl-smi”>Link</span> } <span class=“pl-k”>from</span> <span class=“pl-s”><span class=“pl-pds”>‘</span>react-router<span class=”pl-pds”>’</span></span>

<span class=“pl-k”>import</span> <span class=“pl-smi”>Butter</span> <span class=“pl-k”>from</span> <span class=“pl-s”><span class=“pl-pds”>‘</span>buttercms<span class=”pl-pds”>’</span></span>

 

<span class=“pl-k”>const</span> <span class=“pl-c1”>butter</span> <span class=“pl-k”>=</span> <span class=“pl-en”>Butter</span>(<span class=“pl-s”><span class=“pl-pds”>‘</span>de55d3f93789d4c5c26fb07445b680e8bca843bd<span class=”pl-pds”>’</span></span>);

 

<span class=“pl-k”>class</span> <span class=“pl-en”>BlogHome</span> <span class=“pl-k”>extends</span> <span class=“pl-e”>Component</span> {

 

  <span class=“pl-en”>constructor</span>(<span class=“pl-smi”>props</span>) {

    <span class=“pl-c1”>super</span>(props);

 

    <span class=“pl-c1”>this</span>.<span class=“pl-smi”>state</span> <span class=“pl-k”>=</span> {

      loaded<span class=“pl-k”>:</span> <span class=“pl-c1”>false</span>

    };

  }

 

  <span class=“pl-en”>fetchPosts</span>(<span class=“pl-smi”>page</span>) {

    <span class=“pl-smi”>butter</span>.<span class=“pl-smi”>post</span>.<span class=“pl-en”>list</span>({page<span class=“pl-k”>:</span> page, page_size<span class=“pl-k”>:</span> <span class=“pl-c1”>10</span>}).<span class=“pl-en”>then</span>((<span class=“pl-smi”>resp</span>) <span class=“pl-k”>=&gt;</span> {

Read More:   Why WebAssembly Modules Could Be the New de Facto Unit of Compute – InApps 2022

      <span class=“pl-c1”>this</span>.<span class=“pl-en”>setState</span>({

        loaded<span class=“pl-k”>:</span> <span class=“pl-c1”>true</span>,

        resp<span class=“pl-k”>:</span> <span class=“pl-smi”>resp</span>.<span class=“pl-c1”>data</span>

      })

    });

  }

 

  <span class=“pl-en”>componentWillMount</span>() {

    <span class=“pl-k”>let</span> page <span class=“pl-k”>=</span> <span class=“pl-c1”>this</span>.<span class=“pl-smi”>props</span>.<span class=“pl-smi”>params</span>.<span class=“pl-smi”>page</span> <span class=“pl-k”>||</span> <span class=“pl-c1”>1</span>;

 

    <span class=“pl-c1”>this</span>.<span class=“pl-en”>fetchPosts</span>(page)

  }

 

  <span class=“pl-en”>componentWillReceiveProps</span>(<span class=“pl-smi”>nextProps</span>) {

    <span class=“pl-c1”>this</span>.<span class=“pl-en”>setState</span>({loaded<span class=“pl-k”>:</span> <span class=“pl-c1”>false</span>});

 

    <span class=“pl-k”>let</span> page <span class=“pl-k”>=</span> <span class=“pl-smi”>nextProps</span>.<span class=“pl-smi”>params</span>.<span class=“pl-smi”>page</span> <span class=“pl-k”>||</span> <span class=“pl-c1”>1</span>;

 

    <span class=“pl-c1”>this</span>.<span class=“pl-en”>fetchPosts</span>(page)

  }

 

  <span class=“pl-en”>render</span>() {

    <span class=“pl-k”>if</span> (<span class=“pl-c1”>this</span>.<span class=“pl-smi”>state</span>.<span class=“pl-smi”>loaded</span>) {

Read More:   Meet Mark Hinkle, the New Executive Director for the Node.js Foundation – InApps Technology 2022

      <span class=“pl-k”>const</span> { <span class=“pl-c1”>next_page</span>, <span class=“pl-c1”>previous_page</span> } <span class=“pl-k”>=</span> <span class=“pl-c1”>this</span>.<span class=“pl-smi”>state</span>.<span class=“pl-smi”>resp</span>.<span class=“pl-smi”>meta</span>;

      <span class=“pl-k”>return</span> (

        <span class=“pl-k”>&lt;</span>div<span class=“pl-k”>&gt;</span>

          {<span class=“pl-c1”>this</span>.<span class=“pl-smi”>state</span>.<span class=“pl-smi”>resp</span>.<span class=“pl-c1”>data</span>.<span class=“pl-en”>map</span>((<span class=“pl-smi”>post</span>) <span class=“pl-k”>=&gt;</span> {

            <span class=“pl-k”>return</span> (

              <span class=“pl-k”>&lt;</span>div key<span class=“pl-k”>=</span>{<span class=“pl-smi”>post</span>.<span class=“pl-smi”>slug</span>}<span class=“pl-k”>&gt;</span>

                <span class=“pl-k”>&lt;</span>Link to<span class=“pl-k”>=</span>{<span class=“pl-s”><span class=“pl-pds”>`</span>/post/<span class=“pl-s1”><span class=“pl-pse”>${</span><span class=“pl-smi”>post</span>.<span class=“pl-smi”>slug</span><span class=“pl-pse”>}</span></span><span class=“pl-pds”>`</span></span>}<span class=“pl-k”>&gt;</span>{<span class=“pl-smi”>post</span>.<span class=“pl-c1”>title</span>}<span class=“pl-k”>&lt;</span><span class=“pl-k”>/</span>Link<span class=“pl-k”>&gt;</span>

              <span class=“pl-k”>&lt;</span><span class=“pl-k”>/</span>div<span class=“pl-k”>&gt;</span>

            )

          })}

 

          <span class=“pl-k”>&lt;</span>br <span class=“pl-k”>/</span><span class=“pl-k”>&gt;</span>

Read More:   How Apache Brooklyn Helped IBM SoftLayer Auto-Scale a Heavy Workload – InApps 2022

 

          <span class=“pl-k”>&lt;</span>div<span class=“pl-k”>&gt;</span>

            {previous_page <span class=“pl-k”>&amp;&amp;</span> <span class=“pl-k”>&lt;</span>Link to<span class=“pl-k”>=</span>{<span class=“pl-s”><span class=“pl-pds”>`</span>/p/<span class=“pl-s1”><span class=“pl-pse”>${</span>previous_page<span class=“pl-pse”>}</span></span><span class=“pl-pds”>`</span></span>}<span class=“pl-k”>&gt;</span>Prev<span class=“pl-k”>&lt;</span><span class=“pl-k”>/</span>Link<span class=“pl-k”>&gt;</span>}

 

            {next_page <span class=“pl-k”>&amp;&amp;</span> <span class=“pl-k”>&lt;</span>Link to<span class=“pl-k”>=</span>{<span class=“pl-s”><span class=“pl-pds”>`</span>/p/<span class=“pl-s1”><span class=“pl-pse”>${</span>next_page<span class=“pl-pse”>}</span></span><span class=“pl-pds”>`</span></span>}<span class=“pl-k”>&gt;</span>Next<span class=“pl-k”>&lt;</span><span class=“pl-k”>/</span>Link<span class=“pl-k”>&gt;</span>}

          <span class=“pl-k”>&lt;</span><span class=“pl-k”>/</span>div<span class=“pl-k”>&gt;</span>

        <span class=“pl-k”>&lt;</span><span class=“pl-k”>/</span>div<span class=“pl-k”>&gt;</span>

      );

    } <span class=“pl-k”>else</span> {

      <span class=“pl-k”>return</span> (

        <span class=“pl-k”>&lt;</span>div<span class=“pl-k”>&gt;</span>

          Loading<span class=“pl-k”>...</span>

        <span class=“pl-k”>&lt;</span><span class=“pl-k”>/</span>div<span class=“pl-k”>&gt;</span>

      )

    }

  }

}

 

<span class=“pl-k”>export</span> <span class=“pl-c1”>default</span> <span class=“pl-smi”>BlogHome</span>;



Source: InApps.net

Rate this post
As a Senior Tech Enthusiast, I bring a decade of experience to the realm of tech writing, blending deep industry knowledge with a passion for storytelling. With expertise in software development to emerging tech trends like AI and IoT—my articles not only inform but also inspire. My journey in tech writing has been marked by a commitment to accuracy, clarity, and engaging storytelling, making me a trusted voice in the tech community.

Let’s create the next big thing together!

Coming together is a beginning. Keeping together is progress. Working together is success.

Let’s talk

Get a custom Proposal

Please fill in your information and your need to get a suitable solution.

    You need to enter your email to download

      Success. Downloading...