У меня есть приложение, где на всех сценах я хочу сделать глобальный нижний колонтитул навигации в нижней части экрана. Это было очень легко сделать в RNRF 2.x с поддержкой нижнего колонтитула, но у меня довольно много проблем с его внедрением в 3.x, так как опоры нижнего колонтитула больше не существуют. Кто-нибудь знает, как это сделать?Render global footer in response-native-router-flux 3.x
0
A
ответ
1
Вы можете сделать это только с помощью React Native. Просто заверните свой старый основной компонент в новый вид, содержащий старый основной компонент и нижний колонтитул. Затем будет отображаться нижний колонтитул.
Если у вас есть основной компонент с именем MainComponent
в файле path/to/main/component.js
:
// path/to/main/component.js
export default class MainComponent extends React.Component {
...
}
Просто измените его следующим образом:
// path/to/main/component.js
class MainComponent extends React.Component {
...
}
export default() => (
<View styles={styles.newMainComponent}>
<MainComponent />
<GlobalFooter />
</View>
);
Вы, возможно, потребуется переместить некоторые стили из старого основного компонента новый вид, который его обертывает.
Хорошо, я столкнулся с этим в руководстве по перенаправлению для RNRF, поэтому я не был уверен, что это был рекомендуемый способ: '' 'Router теперь является корневым контейнером и не должен быть вложенным. Для вложенных сцен вы должны использовать элемент сцены. '' 'Но, возможно, это относится только к не вложению его в сцену. Удалось решить проблему с помощью navBar prop of Router, которая заставила меня разобраться, так как документы - вот что они ... Спасибо в любом случае! – Juuso
Хорошо! Поскольку вы нашли другое и, возможно, лучшее решение для своей проблемы, не было бы ничего плохого в том, чтобы добавить это как новый ответ и принять его :) – ArneHugo