我最近一直在看一些关于 RN 的教程,我注意到其中一些在创建组件时不使用 class,而是使用 const。下面的代码显示了该特定教程的应用程序的主屏幕。我的问题是:他们这样做有什么原因而不是使用课堂吗?还有,有关系吗?你有什么特别的理由会使用 const 而不是 class 吗?
const HomeScreen = ({ navigation }) => {
return (
<View>
<Text style={styles.textStyle}>This is the Home Screen</Text>
<Button title="Go to Components Demo"
onPress={() => navigation.navigate('Components')}
/>
<Button title="Go to list demo"
onPress={() => navigation.navigate('List')}
/>
<Button title="Go to Image Screen"
onPress={() => navigation.navigate('Image')}
></Button>
<Button title="Go to Counter"
onPress={() => navigation.navigate('Counter')}
></Button>
<Button title="Colors"
onPress={() => navigation.navigate('Color')}
></Button>
<Button title="Squares"
onPress={() => navigation.navigate('Square')}
></Button>
</View>
);
};
const styles = StyleSheet.create({ …Run Code Online (Sandbox Code Playgroud) 我收到以下错误:(0 _reactNavigationStack.createAppContainer) 不是函数。在安装 react-native-gesture-handler 并链接它后,我收到了这个错误。但是,我检查了终端并没有出现错误消息。ios 模拟器告诉我它在 App.JS 中,我在其中创建了导航器,在我导出默认值的行中。我想知道是否有人可以看到我可能看不到的东西。
这就是我设置导航器的方式,它位于 App.js 文件中。
import {
createStackNavigator,
createAppContainer
} from 'react-navigation-stack';
import SearchScreen from './src/screens/SearchScreen';
const navigator = createStackNavigator(
{
Search: SearchScreen,
},
{
initialRouteName: 'Search',
defaultNavigationOptions: {
title: 'Buisness Search',
},
},
);
export default createAppContainer(navigator)
Run Code Online (Sandbox Code Playgroud)
;
我想知道是否有办法让这里的行悬停?我想指出的是,我没有使用表格来创建它,而是使用 Bootstrap 4 中的网格系统。这可能吗?我研究的所有内容都表明您需要创建一个表才能实现这一点。
<div class="row">
<div class="report-card-i report-card-i-height">
<h3 class="m-l-35 p-t-25 p-b-10">Compliance</h3>
<div class="fa-orange m-t-10 m-b-15 m-l-80">
<div class="row">
<div class="col-sm-1 col-xs-1 text-center">
<i class="fa fa-star m-r-15 text-center" style="font-weight: bold">Adjustment</i>
</div>
<div class="col-sm-1 col-xs-2 col-lg-offset-1 text-center">
<p>21,922</p>
</div>
<div class="col-sm-1 col-xs-2 col-lg-offset-1 text-center">
<p>$0.00</p>
</div>
<div class="col-sm-1 col-xs-2 col-lg-offset-1 text-center">
<p>$304,012.23</p>
</div>
<div class="col-sm-1 col-xs-2 col-lg-offset-1 text-center">
<p>$0.00</p>
</div>
<div class="col-sm-1 col-xs-2 col-lg-offset-1 text-center">
<p>$0.00</p>
</div>
<div class="col-sm-1 col-xs-1 text-center">
<i class="fa fa-angle-right text-center" style="font-weight: bold"></i>
</div>
</div>
</div> …Run Code Online (Sandbox Code Playgroud)我正在阅读有关函数重载的内容。从本质上讲,您正在创建 3 个具有相同名称的函数,它们传递 3 个不同的参数和返回类型。我是 TS 的新手,我想知道以下问题:传递联合类型和返回联合类型不会相同吗?或者是完全不同的东西?
这就是我脑海中出现的例子。这行不行?
超载:
function f1(a: string) {
}
function f1(a: number) {
}
Run Code Online (Sandbox Code Playgroud)
使用联合类型:
function f1(a: string | number):string | number {
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将谷歌字体中的字体导入我的 RN 应用程序。但是,我遇到了一个问题,它告诉我字体无法识别。这是我所做的:
我下载了字体并添加到资产文件夹中:
/assests/fonts/
Run Code Online (Sandbox Code Playgroud)
像这样设置我的 package.json:
"rnpm": {
"assets": [
"./assets/fonts/"
]
}
Run Code Online (Sandbox Code Playgroud)
在终端中运行以下内容:
react-native link
Run Code Online (Sandbox Code Playgroud)
我还进入了 Info.plist 文件并手动添加了字体,因为它在链接后没有这样做:
<key>UIAppFonts</key>
<array>
<string>Lacquer-Regular.ttf</string>
</array>
Run Code Online (Sandbox Code Playgroud)
最后,我在 vscode 的页面上将它标记为这样。
fontFamily: "Lacquer-Regular"
Run Code Online (Sandbox Code Playgroud)
关于可能发生了什么以及如何修复它的任何想法?
这是我第一次使用 Cyrpress,我正在尝试为我的 React 应用程序运行测试。测试是在模式中输入名称后,单击提交按钮,您将进入主页。但是, .click 功能不起作用,至少我认为它不起作用,因为模式仍然存在,上面有名称。有人可以告诉我我做错了什么以及如何解决它吗?
这就是我编写测试的方式:
**fourth.spec.js**
describe ('UI tests', () => {
it('should navgitate to landing page after submitting with button', () =>{
const text = "Christian"
cy.visit('/')
cy.get('.new').type (text).should ('have.value', text)
.click()
})
})
Run Code Online (Sandbox Code Playgroud)
这就是我为模式设置按钮的方式
<div className="my-modal">
<h1>Welcome!</h1>
<p>Please enter your name</p>
<form>
<input
autoFocus
className="new task"
placeholder="Name"
type="text"
name="firstName"
onChange={this.inputChange}>
</input>
</form>
<button
className="modal-btn"
type="button"
disabled={!this.state.firstName}
onClick={this.displayNameHandler}>
Submit
</button>
</div>
Run Code Online (Sandbox Code Playgroud)
react-native ×3
bootstrap-4 ×1
css ×1
cypress ×1
google-fonts ×1
html ×1
mousehover ×1
overloading ×1
testing ×1
typescript ×1