Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   react.js map, что то не фурычет а должно (https://javascript.ru/forum/library-toolkit-framework/86502-react-js-map-chto-ne-furychet-dolzhno.html)

riaron86 19.06.2025 20:32

react.js map, что то не фурычет а должно
 
есть таблица с тремя параметрами надо вывести
вот сервер 100% работает провнрял
const  express=require('express');
const  mysql=require('mysql');
const  cors=require('cors');

const app=express();
app.use(cors());

const db=mysql.createConnection({
   host:"localhost",
   user:'root',
   password:'',
   database:'shop'

});

app.get('/',(req,res)=>{
    return res.json('hello world!!');
});

app.get('/users',(req,res)=>{
    const sql="SELECT * FROM `users`";
    db.query(sql,(err,data)=>{
        if (err) return res.json(err);
        return res.json(data);
    })
});

app.listen(8081,()=>{
    console.log("server working 8081");
})



а клиент выдает всего лишь хелло ворлд

import React,{useEffect,useState} from 'react'
import './App.css';

function App() {
  const [data,setData]=useState([]);
  useEffect(()=>{
    fetch('https://localhost:8081/users')
        .then(res=>res.json())
        .then(data=>console.log(data))
        .catch(err=>console.log(err));

  },[])
  return (
    <div>
      Hello world!!!11
      {data.map((d)=> (
         <div>
           {d.userName}
           {d.userHash}
           {d.userSalt}</div>
      ))}
    </div>
  );
}

export default App;

ksa 19.06.2025 20:49

Цитата:

Сообщение от riaron86
а клиент выдает всего лишь хелло ворлд

На чем запускается тот клиент?

Если на том же сервере - так он и выдает только
Цитата:

Сообщение от riaron86
app.get('/',(req,res)=>{
    return res.json('hello world!!');
});


riaron86 19.06.2025 21:34

Так адрес указан users, и выдает он Hello world!!!11

ksa 19.06.2025 22:37

riaron86, тогда поменяй роуты.
Сначала app.get('/users', ...
Потом app.get('/', ...

riaron86 20.06.2025 11:29

Не помогло

Nexus 20.06.2025 11:36

Там после запроса данных эти самые данные выводятся только в консоль, оставляя state-переменную не у дел.
С чего что-то еще на странице отобразится то должно?

ksa 20.06.2025 11:50

Цитата:

Сообщение от Nexus
Там после запроса данных эти самые данные выводятся только в консоль, оставляя state-переменную не у дел.

Я так понял, ему в консоль тот "Hello world" запрос возвращает...

riaron86 20.06.2025 12:11

в таблице users в базе shop есть данные, при наборе localhost:8081/users они видны но при запуске реакт не показывает

Nexus 20.06.2025 13:15

Цитата:

Сообщение от ksa
Я так понял, ему в консоль тот "Hello world" запрос возвращает...

Цитата:

Сообщение от riaron86
Так адрес указан users, и выдает он Hello world!!!11

У него сервер возвращает строку `hello world!!`, а на странице рендерится именно `Hello world!!!11` с единичками, с его слов.
Единички только компонентом выводятся, значит он смотрит не консоль, а именно на саму страницу в браузере.

riaron86, после запроса данные в state-переменную data засунь, а не в консоль их выводи и будет тебе счастье.

ksa 20.06.2025 14:24

riaron86, замени свой
Цитата:

Сообщение от riaron86
.then(data=>console.log(data))

На
.then(data=>setData(data))

riaron86 20.06.2025 16:00

в консоли при коде без изменений выдает
Download the React DevTools for a better development experience: https://react.dev/link/react-devtools
:8081/users:1


Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
:8081/users:1


Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
localhost/:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
localhost/:1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
[NEW] Explain Console errors by using Copilot in Edge: click

to explain an error.
Learn more

вот данные в базе

1 fvdwfvsrbgbrgbebrebgr3bg3rwbg3rwe Vova megaPupper
2 aethqwrtgwgdhjmdtne5st4trj65erzdzxnsynrtx Vasya ssupper
3 smndnjkmd,kzs,kssksk Petya pupper

Nexus 20.06.2025 17:14

riaron86, отправляй запрос не на https://localhost:8081, а на http://localhost:8081

riaron86 20.06.2025 18:45

получилось спасибо, а что надо делать чтобы получить на https?

Nexus 20.06.2025 18:49

riaron86, установить сертификат на localhost и научить приложение на nodejs с ним работать либо спрятать nodejs за revers proxy, который в свою очередь будет уметь в ssl.


Часовой пояс GMT +3, время: 01:30.