Uzywasz jakiegos frameworka, bibliotek?
Za Ciebie raczej nikt kodu pisac nie bedzie, ale pomoc na pewno ktos pomoze.
Wygooglaj sobie FetchAPI i przyklady jak tego uzyc, a jak bedziesz mial problemy, wstaw kod jaki masz i opisz problem, ktory napotkales.
Widzisz, wyguglowałem sobie nawet i próbowałem użyć ale efekt jest taki sobie
``
var tablica= [];
var mydata = [];
fetch("data.json")
.then(response => response.json())
.then(json=> {
mydata = json;
tablica = mydata.map(mydata=> Object.values(mydata));
});
//const tablicaTablica = mydata.map(mydata => Object.values(mydata));
console.log (tablica);
console.log (mydata);
//var ReactTable = window.ReactTable.default;
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
data: []
};
}
componentWillMount() {
console.log('this is called before render!');
}
render() {
return (
);
}
}
`</p>
Kopiuj
W tej postaci console log pokazuje dwa puste elementy
W tej postaci ( różni się tym, że blok rozpoczęty przez this.state = { obejmuje praktycznie cały kod) widzę prawidłowe wartości ale z kolei komponent Mycomponent jest niewidoczny dla pliku HTML gdzie jest użyty (plik html na dole)
Kopiuj
``
var tablica= [];
var mydata = [];
fetch("data.json")
.then(response => response.json())
.then(json=> {
mydata = json;
tablica = mydata.map(mydata=> Object.values(mydata));
//const tablicaTablica = mydata.map(mydata => Object.values(mydata));
//var ReactTable = window.ReactTable.default;
console.log (tablica);
console.log (mydata);
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
data: []
};
}
render() {
return (
<table>
<tbody>
{this.props.data.map((item, index) => {
return <tr key = {'tr'+item [index]}><td key={item[index]}>{item[index]} </td><td key={item[index]}>{item[index]}</td><td key={item[index]}>{item[index]}</td><td key={item[index]}>{item[index]}</td><td key={item}>{item[index]}</td><td key={item[index]}>{item[index]}</td></tr>;
})}
</tbody></table>
);
}
}
});`
plik html, tam są różne śmieci i pozostałości innych podejść, w powyższych też.
Kopiuj
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<title>Pierwszy komponent w React.js</title>
<script src="https://unpkg.com/react/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone/babel.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.13/semantic.min.css">
<link rel="stylesheet" href="https://unpkg.com/react-table@latest/react-table.css">
<script src="https://unpkg.com/react-table@latest/react-table.js"></script>
<script src="https://unpkg.com/react-table@latest/react-table.min.js"></script>
<!--<script type='text/babel' src='lista.js'></script>-->
<script type='text/babel' src='react.js'></script>
<!-- <script type='text/babel' src='tablica.js'></script>-->
</head>
<body>
<div id="app"></div>
<div id="apka"></div>
<div id='modal'></div>
<div id='apps'></div>
<div id='domowa' style= 'top: 20%';></div>
<script type="text/babel">
ReactDOM.render(<MyComponent data = {tablica} />, document.getElementById("apps"));
</script>
</body>
</html>
Wiesz, ja naprawdę nielubię obarczać ludzi moją robotą ( dla ścisłości - to nie jest robota, nie pisze tego dla pieniedzy). Ale ja naprawdę dopiero 1 stycznia wziąłem sie do IT, a zacząłem od HTML i CSS. I wiem, że powinieniem umieć obsługiwaś asynchro, ale jeszcze nie przerobiłem wszystkich zagadnień związanych z DOM (acz prawie wszystkie). Teraz na dokładkę zacząłem Reacta i oto gdzie jestem - pod ścianą w którą tłucze głową. Myślałem że zassanie pliku to coś banalnego, okazuje sie że nie, a teraz taka naprawdę dorabiam filtry do tabelki i naprawdę nie mogę się całkowicie poświęcić asynchro.