#reactjs
Вопрос:
Я новичок в ReactJS.
Я передаю значения ребенку, и все нормально.
Мне нравится реквизит, рендеринг работает. Но я не хочу отображать их на своей Родительской странице .
Я хочу иметь доступ к реквизитам внутри Дочерней страницы, но я не хочу, чтобы они отображались на моей Родительской странице ( за исключением ссылки ).
Извините, если я немного сбит с толку, я не уверен, какой инструмент здесь использовать. Спасибо.
ParentPage.js
import {BrowserRouter as Router, Switch, Route, Link} from 'react-router-dom';
import ChildPage from './ChildPage.js';
const ParentPage = () => {
const employees = [{
name: "shaun",
id: 1,
},
{
name: "brian",
id: 2,
},
{
name: "geroge",
id: 3,
},
]
return (
<div>
{employees.map((employee) => (
<ChildPage name={employee.name} id={employee.id} />
<Link to={"/childpage/" employee.name }> {employee.name} </Link>
))}
};
export default ParentPage;
ChildPage.js
const ChildPage = (props) => {
const { name, id } = props
return (
<div>
<p> your name is : {name} and your id is : {id} </p>
</div>
};
export default ChildPage;
Комментарии:
1. Ваш вопрос очень сбивает с толку! Какого результата вы ожидаете?
2. Ваш вопрос неясен, вы можете предоставить некоторый снимок вашего пользовательского интерфейса, который может помочь
3. Массив сотрудников неправильно инициализирован, закрывающая скобка отсутствует после
},
4. Я хочу передать переменную, которую я создал «сотрудники», еще не используя ее. С моей родительской страницы на мою детскую страницу.
5. Вы хотите сказать, не объявляя об этом родителю?
Ответ №1:
Ваши ChildPage
возвраты
<div>
<p> your name is : {name} and your id is : {id} </p>
</div>
который будет передан вам ParentPage
. Это <Link>
не внутри вас ChildPage
.
Я думаю, что ты хотел сделать вот что:
ParentPage.js
const ParentPage = () => {
const employees = [{
name: "shaun",
id: 1,
},
{
name: "brian",
id: 2,
},
{
name: "geroge",
id: 3,
},
return (
<div>
{employees.map((employee) => (
<ChildPage name={employee.name} id={employee.id} />
))}
};
ChildPage.js
const ChildPage = (props) => {
const { name, id } = props
return (
<Link to={"/childpage/" name }> {name} </Link>
};
Ответ №2:
Вы должны удалить ChildPage
из employees.map
in ParentPage
, тогда он не будет отображаться.
Держу пари, у вас есть ChildPage
в вашем router.js
, потому что у вас есть работа <Link />
для вас ChildPage
.
Если вы хотите передать параметры, просто напишите это против вашего <Link />
:
<Link to={{ screen: 'childpage', params: { id: employee.id, name: employee.name } }}>
{employee.name}
</Link>
Затем в свой <ChildPage />
вы должны получить переданные параметры, подобные этому:
const ChildPage = ({navigation, route}) => {
const { params } = route
return (
<div>
<p> your name is : {params.name} and your id is : {params.id} </p>
</div>
};
export default ChildPage;