Я пытаюсь передать код {массив} с одной страницы на другую,
это мой код:
import React, { Component } from 'react';
import "./App.css";
import SimpleStorage from "react-simple-storage";
import ViewUsers from './ViewUsers';
export class AddUser extends Component{
constructor(props) {
super(props);
this.state = {
newItem:" ",
list: []
};
}
updateInput(key, value) {
// update react state
this.setState({ [key]: value });
}
updatename(key,value){
this.setState({[key]:value});
}
updatelname(key,value){
this.setState({[key]:value});
}
updateage(key,value){
this.setState({[key]:value});
}
addItem() {
// create a new item with unique id
const newItem = {
id: 1 + Math.random(),
value:this.state.newItem.slice(),
fname:this.state.fname,
lname:this.state.lname,
age:this.state.age
};
const list = [...this.state.list];
// add the new item to the list
list.push(newItem);
this.setState({
list,
newItem: " "
});
console.log(this.state.list);
}
render() {
let list=this.state.list
return (
<div className="App">
<SimpleStorage parent={this} />
<br/>
Add Information:
<br />
<label className="col-lg-2 control-label">ID:</label>
<input name="idIn" type="text" value={this.state.newItem} onChange={e => this.updateInput("newItem", e.target.value)} />
<label className="col-lg-2 control-label">First Name:</label>
<input name="fNameIn" value={this.state.fname} onChange={e => this.updatename("fname", e.target.value)}/>
<label className="col-lg-2 control-label">Last Name:</label>
<input name="lNameIn" value={this.state.lname} onChange={e => this.updatelname("lname", e.target.value)}/>
<label className="col-lg-2 control-label">Age:</label>
<input name="ageIn" value={this.state.age} onChange={e => this.updateage("age", e.target.value)} />
<br/>
<br/>
<button
onClick={() => this.addItem()}
disabled={!this.state.newItem.length || !this.state.fname ||
!this.state.lname || !this.state.age }
>
+ Add
</button>
<br /> <br />
<div>
<ViewUsers>
{list.map(lis =>
<div>{lis.id} </div>
)}
</ViewUsers>
</div>
</div>
)}
}
Это мой GUI:
И это локальное хранилище моего списка:
теперь мне нужно показать эти информация на другой странице с именем: ViewUsers.
Итак, как я могу это сделать? карта не работает со мной,
Также я пробую этот код, но он дает мне информацию о массиве, а не о реальных значениях:
EDIT:
Я использую этот код в ViewUsers:
import React, { Component } from 'react';
class ViewUsers extends Component{
constructor(props) {
super(props);
};
render(){
return(
<ul>
{this.props.list.map(item => (
<li key={item}>{item}</li>
))}
</ul>
);
}
}
export default ViewUsers;
и получаю эту ошибку:
, и когда я использую:
props.list
вместо this.props.list
, я получаю сообщение об ошибке: TypeError: невозможно прочитать свойство 'props' неопределенного
Заранее благодарим за помощь.