Показать сообщение отдельно
  #12 (permalink)  
Старый 22.05.2023, 10:07
Аспирант
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 44

выдает ошибку
(in promise) SyntaxError: Unexpected token '<', "<html>
<"... is not valid JSON
Promise.then (асинхронно)
(анонимный) @ App.js:9
commitHookEffectListMount @ react-dom.development.js:23150
commitPassiveMountOnFiber @ react-dom.development.js:24926
commitPassiveMountEffects_complete @ react-dom.development.js:24891
commitPassiveMountEffects_begin @ react-dom.development.js:24878
commitPassiveMountEffects @ react-dom.development.js:24866
flushPassiveEffectsImpl @ react-dom.development.js:27039
flushPassiveEffects @ react-dom.development.js:26984
(анонимный) @ react-dom.development.js:26769
workLoop @ scheduler.development.js:266
flushWork @ scheduler.development.js:239
performWorkUntilDeadline @ scheduler.development.js:533
index.js//сервер
const express = require("express");

const PORT = process.env.PORT || 3001;

const app = express();
app.get("/api", (req, res) => {
    res.set('Access-Control-Allow-Origin', 'http://localhost:3000/');

    res.json({ message: "Hello from server!" });
});


app.listen(PORT, () => {
    console.log(`Server listening on ${PORT}`);
});

index.js//клиент
import React,{createContext, useContext} from 'react';
import ReactDOM from 'react-dom/client';
import App from './App.js';
const Context = createContext(null)
const arrayse=[
    {'id':1,'description':'description1'},
    {'id':2,'description':'description2'},
    {'id':3,'description':'description3'},
    {'id':4,'description':'description4'},
    {'id':5,'description':'description5'},
]

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Context.Provider value={{arrayse:arrayse}}>
        <App arrayse={arrayse}/>
    </Context.Provider>
);

app.js

import React from "react";
import Shop from "./pages/Shop";

// client/src/App.js
function App({arrayse}) {
    const [data, setData] = React.useState(null);

    React.useEffect(() => {
        fetch('http://localhost:3000/api')
            .then((res) => res.json())
            .then((data) => setData(data.message));
    }, []);
    return (
        <div className="App">
            <header className="App-header">
                <p>{!data ? "Loading..." : data}</p>
            </header>

        <Shop arrayse={arrayse}/>
        </div>
    )
}

export default App;
Ответить с цитированием