#reactjs #react-router #react-bootstrap
#reactjs #react-маршрутизатор #react-bootstrap
Вопрос:
У меня есть навигация в Home, About, Modeling и Resources. Мне интересно, как можно добавить ссылку на кнопку из Jumbotron, которая будет указывать на мою навигацию.
В App.js
function App() {
return (
<div className="App">
<Header />
<Jumbotron />
<Layout>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/modeling" component={Modeling} />
<Route path="/resources" component={Resources} />
</Switch>
</Layout>
</div>
);
}
В Jumbotron.js
export const Jumbotron = () => (
<Styles>
<Jumbo fluid className="jumbo">
<div className="overlay"></div>
<Container className="center">
<h1>Welcome 3D astronomical models</h1>
<p>
<button class="btn btn-success btn-lg btn-getStarted" href="#modeling" role="button">Get Started</button>
<button class="btn btn-success btn-lg btn-getStarted" href="#about" role="button">Learn More</button>
</p>
</Container>
</Jumbo>
</Styles>
)
Я использую href=»#моделирование», но страница не понимает, как перейти к моделированию страницы
Кто-нибудь может помочь? Я использую React
Чтобы быть точным, посмотрите на мой код по ссылке ниже: https://codesandbox.io/s/polished-cache-i4xzk?file=/src/App.js
Комментарии:
1. отображается ваша изолированная среда кода
Hello CodeSandbox Start editing to see some magic happen!
— в выходных данных не обнаружен jumbotron2. не могли бы вы попробовать еще раз?
3. по-прежнему нет вывода @Sunny — вы редактируете правильную песочницу? я смотрю на
polished-cache-i4xzk
4. повторите попытку. теперь это работает
5. не могли бы вы помочь мне, как связать кнопку из jumbotron с панелью навигации О моделировании?
Ответ №1:
У вашего jumbrotron есть проблема с CSS в отношении z-index
. Ссылки внутри не могут взаимодействовать из-за отрицательного z-index
.jumbo {
background-size: cover;
color: #efefef;
height: 400px;
position: relative;
/* z-index: -2; <-- get rid of this */
margin-left: 20px;
margin-right: 20px;
}
Что касается кнопки «Подробнее», которую вы используете href
, но вы можете просто использовать NavLink
, потому что вы уже импортировали это и уже настроили маршрутизацию на стороне клиента.
Приведенный ниже код должен это исправить:
<NavLink to="/about"><button class="btn btn-success btn-lg btn-getStarted">Learn More</button></NavLink>
На данный момент я не совсем уверен, куда должна быть направлена ваша кнопка «Начать», но вы можете следовать той же концепции, которую я описал выше.
Комментарии:
1. Еще одна вещь, вы знаете, как удалить jumbotron, кроме домашней страницы?
2. закомментируйте или удалите
<Jumbo fluid className="jumbo">
компонент (включая его дочерние элементы — все поддерево компонентов)3. не могли бы вы перейти codesandbox.io/s/3d-tool-zjm5m?file=/src/components/Modeling.js здесь? на Modeling.js , я хочу связать его с новой страницей под названием Upload.js . На новой странице Upload.js , я только хочу отобразить панель навигации без jumbotron «Добро пожаловать в 3D астрономические объекты и кнопка «Начать, узнать больше» и все пространство, оставленное для отображения других вещей. Как я могу удалить jumbotron в Upload.js страница?
Ответ №2:
Попробуйте использовать ссылку вместо кнопки.
Комментарии:
1. вы пробовали подобное
<Link to="/modeling">Get Started</Link>
?2. Что происходит, когда вы нажимаете на ссылку?
3. перейдите по этой ссылке, чтобы понять, что я имею в виду codesandbox.io/s/polished-cache-i4xzk?file=/src/App.js и не могли бы вы помочь мне разобраться в этом?
4. Я получаю эту ошибку при попытке получить доступ к изолированной среде. Ошибка запроса с кодом состояния 404. Вы ее удалили?
5. Вы использовали ссылку?