#reactjs
#reactjs
Вопрос:
Мне нужно перенести данные, например, с главной страницы на другую страницу, и увидеть результат. Данные следующие:
stop = {
stop: {
type: "Pickups",
name: 'Some Name',
phone: '(818) 444-6667',
address: 'ad 1',
zip: '11111',
city: "123",
state: 'CA',
data:"March 27th",
time: "11:00pm",
comments: 'Some comments'
}
}
И, например, я хочу попасть stop.type
на другую страницу, подобную этой: console.log(stop.type)
Большое спасибо за вашу помощь!
Комментарии:
1. вам нужно использовать реквизиты. Google как передать реквизиты для передачи данных.
2. То, что вы спрашиваете здесь, является очень простой операцией. Начало работы будет хорошим началом.
Ответ №1:
Попробуйте использовать состояние истории, если вы используете react-router-dom
this.props.history.push('/page', {
stop
})
И проверьте данные в ‘/ page’
console.log(this.props.history.location.state.stop)
Комментарии:
1. Спасибо. Использовать этот код в том файле, в котором я хочу увидеть результат?
2. Я пробую, но я не использовал react-router-dom
3. Если вы не используете
react-router-dom
, проверьте это. developer.mozilla.org/en-US/docs/Web/API/… Но это не очень хороший способ в SPA. Другим способом вы можете получить данные, используяlocalstorage
Ответ №2:
Вы можете сделать это, но не совсем так, как вы это делали, вы можете сделать следующим образом
constructor(props) {
super(props);
this.state = {
stop = {
stop: {
type: "Pickups",
name: 'Some Name',
phone: '(818) 444-6667',
address: 'ad 1',
zip: '11111',
city: "123",
state: 'CA',
data:"March 27th",
time: "11:00pm",
comments: 'Some comments'
}
}
}
}
имейте это в своем конструкторе, и вы можете перейти к другим компонентам двумя способами, используя реквизиты истории или импортируя второй компонент в первый компонент и передавая значения
1. через реквизиты истории
this.props.history.push({ pathname: '/your component url as specified in route' }, {
stop: this.state.stop.stop}})
вы можете получить доступ к значению stop с помощью this.props.location amp;amp; this.props.location.state amp;amp; this.props.location.state.stop
2. импорт компонента
import Yourcomponent from './yourcomponent '; /*This has to done in your parent component*/
render(){
return(<Yourcomponent stop={this.state.stop.stop}/>)}
вы можете получить доступ через this.props.stop
Комментарии:
1. ./src/pages/loads/new-load-popup/AddStopPopup.js Синтаксическая ошибка: неожиданный токен (56:10) « super(props); this.state = { stop = { ^ stop: { тип: «kkkkkkkk», имя: ‘Какое-то имя»`
2. это должно сработать, можете ли вы предоставить больше кода, я не смог найти точную проблему