Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

103
Views
Invalid JSON import in React

i got this error while trying import data from JSON file in the App component below:

Uncaught TypeError: start is undefined

import './App.css';
import PreNavbar from './Components/PreNavbar';
import Navbar from "./Components/Navbar.js";
import {BrowserRouter as Router} from "react-router-dom";
import Slider from "./Components/Slider.js";
import banner from "./data/data.json";

function App( ) {
  return (
    

    <Router>

      <PreNavbar />
      <Navbar />
      <Slider start = {banner.start} />

    
    </Router>
  );
}

export default App;

Here is the Slider component:

import React from 'react';
import Carousel from 'react-bootstrap/Carousel';

const Slider = ({start}) => {
  return (
    <Carousel>

      {start.map((item, index) => (

        <Carousel.Item>
          <img className='d-block w-100' src={item}
            alt="First slide" />

      </Carousel.Item>

      ))}


    </Carousel>
  )
}

export default Slider;

If i use {} in banner export, like so:

import {banner} from "./data/data.json";

I face this other error:

ERROR in ./src/App.js
Should not import the named export 'banner'.'start' (imported as 'banner') from default-exporting module (only default export is available soon)

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Try passing a default value to your start prop on the <Slider /> component such as:

import React from 'react'
import Carousel from 'react-bootstrap/Carousel'

const Slider = ({start = []}) => { 
  return (
    <Carousel>
      {start.map((item, index) => (
         <Carousel.Item>
           <img className='d-block w-100' key={item} src={item} alt="First slide" />
         </Carousel.Item>
      ))}
    </Carousel>
) }

export default Slider;

Or you can add optional chaining like:

import React from 'react'
import Carousel from 'react-bootstrap/Carousel'

const Slider = ({start}) => { 
  return (
    <Carousel>
      {start?.map((item, index) => (
         <Carousel.Item>
           <img className='d-block w-100' key={item} src={item} alt="First slide" />
         </Carousel.Item>
      ))}
    </Carousel>
) }

export default Slider;

Or both:

import React from 'react'
import Carousel from 'react-bootstrap/Carousel'

const Slider = ({start = []}) => { 
  return (
    <Carousel>
      {start?.map((item, index) => (
         <Carousel.Item>
           <img className='d-block w-100' key={item} src={item} alt="First slide" />
         </Carousel.Item>
      ))}
    </Carousel>
) }

export default Slider;

I think the latter is the best approach to solving this issue. This may be happening because the app is still loading the JSON file data and when you are mounting the component, and since it expects the start prop to be loaded from the start, instead of being an undefined or null value, it throws an error.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!