我知道我可以通过放入Text.defaultProps.allowFontScaling = false根组件的构造函数(即,在根index.js或App.js文件中)在React Native应用程序中全局禁用字体缩放。但是,有没有一种方法可以允许最大值进行缩放,而不是完全禁用它?
我曾尝试过adjustsFontSizeToFit = true考虑这会阻止文本放大到很大的尺寸(确实如此),但是现在所有文本都变得太小,并且破坏了应用程序的样式。
我尝试将其minimumFontScale与adjustsFontSizeToFit上述方法结合使用,因为根据docs,minimumFontScale“指定启用adjustsFontSizeToFit时字体可以达到的最小比例。” 我将此值设置为,1.0但文本仍会按比例放大到难以理解的大小(例如,如果在iOS中启用了“较大的可访问性大小”并将其设置为最大比例),并将其设置为较低的值(例如0.25)将允许文字可以合理地适合我的应用程序,但是间距和相对大小被破坏了。
如果文本将保留为默认大小,并且仍允许在iOS中启用“可访问性大小”,但仅在一定程度上允许扩展,这将是很好的办法吗?
像这样的字符串会匹配:
"test/00b46e01-3994-4ac2-939e-2d5052a65961"
Run Code Online (Sandbox Code Playgroud)
或者像这样
"anotherword/58628d3f-becf-4f54-bdea-336ca9247145"
Run Code Online (Sandbox Code Playgroud)
我拥有的 uuid (v4) 正则表达式适用"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"于我的 JSON 模式(即我的 JSON 对象拥有 uuid 属性),但现在我也想在此模式前面合并“string/”。
我在Dell XPS 13(3854 MB的RAM和Intel Core i5-5200U CPU @ 2.20GHz)上运行Ubuntu 17.04(zesty),并尝试启动Minikube,但是当我尝试启动时遇到了一些错误起来。
? minikube version
minikube version: v0.22.3
? kubectl version
Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.5", GitCommit:"17d7182a7ccbb167074be7a87f0a68bd00d58d97", GitTreeState:"clean", BuildDate:"2017-08-31T09:14:02Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Run Code Online (Sandbox Code Playgroud)
我有VM VirtualBox版本5.2.0 r118431(Qt5.7.1)。我已经检查了BIOS设置并启用了虚拟化。
? minikube start
Starting local Kubernetes v1.7.5 cluster...
Starting VM...
E1025 09:49:40.206594 22972 start.go:146] Error starting host: Error starting stopped host: Unable to start the VM: /usr/bin/VBoxManage startvm minikube --type …Run Code Online (Sandbox Code Playgroud) 当我尝试在 iOS 模拟器上运行 React Native 应用程序时,出现红屏并显示以下错误:
不明确的解决方案:模块“/Users/my-user/Documents/my-RN-app/app/index.js”尝试要求“react-native-vector-icons”,但有几个文件提供此模块。您可以删除或修复它们:
/Users/my-user/Documents/my-RN-app/ios/build/Build/Products/Debug-iphonesimulator/MyApp.app/my-RN-app/node_modules/react-native/local-cli/core/__fixtures__ /文件/package.json
/Users/my-user/Documents/my-RN-app/node_modules/react-native/local-cli/core/__fixtures__/files/package.json
但是,上述两个文件(package.json 文件)均丢失。我之前实际上已经遇到过这个错误,所以我决定删除上面提到的第一个目录位置(在 ios/build/.. 等)中的 package.json 文件,并刷新应用程序,它加载得很好。现在,在尝试在 iOS 模拟器中再次启动我的应用程序后,我又回到了同样的错误,但我无法删除 package.json 文件,因为它现在在任何一个位置都不存在。
我尝试在 app/index.js 文件中注释掉react-native-vector-iconslib 的导入并重新启动 sim,但错误仍然出现。
所以最后,我尝试了这个:
sudo rm -rf node_modules(如果我不使用,我会收到“权限被拒绝”,sudo尽管看起来我对该项目中的所有文件/文件夹具有完全的读/写权限)sudo rm -rf ios/buildnpm installcd ios && pod installreact-native link然后回到 Xcdoe:Product > Clean,之后我再次运行模拟器。还是同样的错误。
根据要求,这是我的 package.json 文件:
{
"name": "myApp",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"run-ios": "node_modules/.bin/react-native run-ios",
},
"dependencies": {
"art": "^0.10.1",
"auto-bind": "^1.1.0",
"axios": "^0.16.1", …Run Code Online (Sandbox Code Playgroud) 我正在尝试测试 React Native 组件,它基本上是Switch的包装器。
它看起来像这样(样式和额外代码已删除):
render() {
return (
<View>
<View>
<View>
<Switch
onValueChange={() => this.onChange(!this.state.value)}
value={this.state.value}
/>
</View>
</View>
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
该组件本身没有 ononChange方法,但它扩展的类有。我想确保当我单击此开关时,onChange会使用正确的值(即使用true或false)调用 。
我的测试如下所示(我onChange向其中添加了一个模拟方法,以便更轻松地测试压力机的操作):
it('calls onChange with proper values when pressed', () => {
const onChangeHandler = jest.fn();
const wrapper = shallow(
<Toggle />
);
wrapper.instance().onChange = onChangeHandler;
wrapper.simulate('press');
expect(wrapper.instance().onChange).toBeCalledWith(true);
});
Run Code Online (Sandbox Code Playgroud)
然而,这个测试失败了,并且onChange没有被调用。我不确定我的测试错误出在哪里。
我在 Express/Node.js 应用程序中使用 Socket.io 作为后端 Websocket 服务器。服务器端代码如下所示:
const socketIo = io(server);
socketIo.on('connection', (client) => {
console.log('client connected');
client.emit('test', { test: '123' });
client.on('client-test', (data) => {
console.log('from client: ', data);
});
});
Run Code Online (Sandbox Code Playgroud)
在前端(托管在同一个 Node.js 服务器上),我使用本机 websockets,我有这个:
const socket = new WebSocket('ws://localhost:3001');
socket.onopen = () => {
socket.send('I am a client and I am listening');
socket.onmessage = (event) => {
console.log('Client received message: ', event);
};
socket.onclose = (event) => {
console.log('Client socket has closed: ', event);
}
};
Run Code Online (Sandbox Code Playgroud)
websocket 连接似乎从未建立(我没有从服务器记录任何内容)。此外,我不确定如何在客户端接受服务器发出的消息(即“测试”消息),也不知道如何从客户端接受服务器上的消息(即服务器期待一些“客户端”) …
这是模式的现场演示(它应该在几秒钟后打开。更新:此链接现在显示完成的版本)。
这是包含所有文件的 GitHub 存储库。(更新:此链接现在显示完成版本)。
当我向上滚动时,弹出窗口的顶部被切断,但我无法向上滚动查看它,尽管位于overflow-y: scroll;弹出容器上。
在较小分辨率的屏幕上(请参阅此处)或当屏幕宽度收缩时(请参阅此处),会发生此问题(如果您在演示中看不到它)。
我当前的设置是用户单击链接以动态加载内容,其中还包括在脚本中加载.我希望能够测试是否加载了外部脚本(特别是Google Maps JS API),如果不加载,那么就这样做.
这是我的代码:
if(_href == "contact.html") {
// this will run everytime we navigate/click to go to "contact.html"
console.log("contact.html loaded");
// load the contact.js script, and once loaded,
// run the initMap function (located inside contact.js) to load the map
$.getScript("contact.js", function() {
// store the length of the script, if present, in a varialbe called "len"
var len = $('script[src="https://maps.googleapis.com/maps/api/js"]').length;
console.log(len);
// if there are no scripts that match len, then load it
if (len === 0) …Run Code Online (Sandbox Code Playgroud) 我正在学习React,并按照本教程创建了一个简单的Tic-Tac-Toe游戏,您可以在CodePen中查看.
我很困惑箭头函数如何在Board组件函数onClick内返回的Square组件的属性中工作renderSquare:onClick={() => this.props.onClick(i)}.而且我的游戏组件也是如此onClick={ (i) => this.handleClick(i)}.我以为我可以在没有箭头功能的情况下编写它(就像onClick={this.handleClick(i)}),但这打破了游戏.
这是我正在完成的一个小项目:https : //codesandbox.io/embed/rwxookx6po。
我有几个具有backgroundImage属性的div 。我打的网址是这个:https : //source.unsplash.com/collection/1163637/480x480
每次访问该 url 时,您都会从集合中获得一个新的随机图像。我认为因为道具没有改变,我可以强制我的组件更新,但这似乎并没有解决问题:
shouldComponentUpdate(nextProps) {
if (nextProps.image) {
this.forceUpdate();
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
鉴于我按下一个按钮并将相同的图像 url prop 传递给包含带有背景图像的 div 的组件,如何让组件重新加载,为我的 div 提供新的图像背景?
react-native ×3
reactjs ×2
css ×1
enzyme ×1
express ×1
google-maps ×1
html ×1
javascript ×1
jestjs ×1
jquery ×1
jsonschema ×1
kubectl ×1
kubernetes ×1
minikube ×1
modal-dialog ×1
node-modules ×1
node.js ×1
regex ×1
scaling ×1
script-tag ×1
socket.io ×1
text ×1
ubuntu-17.04 ×1
uuid ×1
virtualbox ×1
websocket ×1
xcode ×1