在我的React Native应用程序中,我从具有未知维度的API中获取图像.如果我知道所需宽度,如何自动缩放高度?
例:
我将宽度设置为Dimensions.get('window').width.如何设置高度并保持相同的比例?
export default class MyComponent extends Component {
constructor(props) {
super(props)
this.state = {
imgUrl: 'http://someimg.com/coolstuff.jpg'
}
}
componentDidMount() {
// sets the image url to state
this.props.getImageFromAPi()
}
render() {
return (
<View>
<Image
source={uri: this.state.imgUrl}
style={styles.myImg}
/>
<Text>Some description</Text>
</View>
)
}
}
const styles = StyleSheet.create(
myImg: {
width: Dimensions.get('window').width,
height: >>>???what goes here???<<<
}
)
Run Code Online (Sandbox Code Playgroud) 在我的React应用程序中,我使用的是airbnb的eslint样式指南,如果我不使用destructuing则会抛出错误.
在下面的情况中,我首先使用let分配两个变量latitude和longitude位置对象数组中第一个项的坐标.然后,如果用户允许我访问他们的位置,我会尝试使用解构来重新分配他们的值.
let latitude = locations[0].coordinates[1];
let longitude = locations[0].coordinates[0];
if (props.userLocation.coords) {
// doesn't work - unexpected token
{ latitude, longitude } = props.userLocation.coords;
// causes linting errors
// latitude = props.userLocation.coords.latitude;
// longitude = props.userLocation.coords.longitude;
}
Run Code Online (Sandbox Code Playgroud)
内部解构if语句导致的unexpected token错误.
以旧式方式重新分配变量会导致ESlint: Use object destructuring错误.
我正在尝试使用FBSDK在我的React Native iOS应用程序中设置Facebook登录.按钮呈现但单击时会崩溃iOS模拟器中的应用程序.它甚至没有控制远程调试器中的任何错误.
我在Fcode中添加了FBSDKCoreKit.framework和FBSDKLoginKit.framework到我的项目,并按照本指南修改了我的info.plist和AppDelegate.m
我的按钮代码有问题吗?
import React, { Component } from 'react'
import { View } from 'react-native'
import FBSDK from 'react-native-fbsdk'
const { LoginButton } = FBSDK
import styles from '../styles'
export default class Login extends Component {
constructor (props) {
super(props)
this.onLoginFinished = this.onLoginFinished.bind(this)
}
onLoginFinished (error, result) {
if (error) {
console.log(error)
alert("Login failed with error: " + error);
} else if (result.isCancelled) {
alert("Login was cancelled");
} else {
alert("Login was …Run Code Online (Sandbox Code Playgroud) 假设我有一个带有speak函数的动物对象:
function speak() {
console.log(this.sound)
}
let animal = {
speak
}
Run Code Online (Sandbox Code Playgroud)
我有一只狗sound:
let dog = {
sound: "Woof!"
}
Run Code Online (Sandbox Code Playgroud)
如果我要dog继承speak从animal我可以使用Object.assign或Object.setPrototypeOf.它们似乎产生了相同的结果:
let luke = Object.assign(dog, animal)
luke.speak() // Woof!
let bruno = Object.setPrototypeOf(dog, animal)
bruno.speak() // Woof!
Run Code Online (Sandbox Code Playgroud)
有什么区别,是一种被认为是"正确"的方式?
我遇到的情况是,输入字段所需的占位符文本对于字段的宽度来说太长了。为了解决这个问题,我试图给占位符一个更小的font-size. 似乎无论我做什么,我都无法使font-size占位符文本的 与值文本不同。我试过扔!important一个,两个,都没有运气。
我的反应代码:
<input
type="text"
id="inputId"
name="inputName"
placeholder="A long string of text that does not fit"
onChange={props.handleChange}
value={props.someValue}
className={styles.myClass}
/>
Run Code Online (Sandbox Code Playgroud)
我的CSS:
.myClass {
font-size: 2em;
height: 66.8125px !important;
}
.myClass::-webkit-input-placeholder { /* WebKit browsers */
font-size: 1em;
}
.myClass:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
font-size: 1em;
}
.myClass::-moz-placeholder { /* Mozilla Firefox 19+ */
font-size: 1em;
}
.myClass:-ms-input-placeholder { /* Internet Explorer 10+ */
font-size: 1em;
}
Run Code Online (Sandbox Code Playgroud) 我问这个是因为点击cmd + r会导致所有组件都设置为默认状态.要使用从应用商店下载的应用复制此功能,可以通过双击主页按钮强行关闭应用,向上滑动应用,然后重新打开它?
我在商店里没有任何应用程序,所以我无法测试这个.
保存相关数据AsyncStorage是否是重新加载后保存状态的好方法?
例如:我有一个登录用户,其信息保存到州.如果我刷新应用程序,该用户将丢失并被强制重新登录.但是,如果我保存用户的信息AsyncStorage,我可以将其恢复为状态componentDidMount.
我们正在一个项目中使用hydrate,react-dom并且很难检测到损坏的图像链接。这些图像来自第三方API,因此我们无法事先知道哪些链接有效。
export default class Image extends PureComponent {
render() {
return (
<img
src={this.props.src}
onError={(e) => {
e.target.src='https://mycdn.com/fallback.jpg';
}}
/>
)
}
}
Run Code Online (Sandbox Code Playgroud)
如果我们使用render而不是,上述代码将起作用hydrate。使用时是否有办法检测损坏的图像hydrate?
在我的应用程序中,我有团队,每个团队每周都有一个游戏时间.我希望将游戏时间设置为"现在"作为默认值.我的桌子是这样设置的
create_table "teams", force: true do |t|
t.datetime "wk1_time"
end
Run Code Online (Sandbox Code Playgroud)
我创建了一个迁移,它看起来像这样:
class ChangeDateTimeDefault < ActiveRecord::Migration
def change
change_column :teams, :wk1_time, :default => DateTime.now
end
edn
Run Code Online (Sandbox Code Playgroud)
当我运行rake db:migrate时出现错误.我的语法错了还是我错过了其他的东西?
我的团队正在使用 React Native 构建我们的第一个 iOS 应用程序。由于某种原因,仅在我的 Mac 上,运行后构建失败react-native run-ios。自从我们添加 Facebook 身份验证以来,这种情况就一直在发生react-native-fbsdk。
我们都运行node -v 7.0 和最新版本的Xcode。我什至尝试在本地删除存储库并将其克隆回来。作为一个实验,我团队的另一名成员在本地删除了他的存储库,将其克隆回来,并且能够让一切正常运行。我们坐在一起,做了完全相同的步骤,这对他有效,但对我无效。
以下是我在终端中收到的错误消息:
** BUILD FAILED **
The following build commands failed:
CompileC /Users/philmok/js_projects/pLot/ios/build/Build/Intermediates/RCTFBSDK.build/Debug-iphonesimulator/RCTFBSDK.build/Objects-normal/x86_64/RCTFBSDKGraphRequestManager.o RCTFBSDK/core/RCTFBSDKGraphRequestManager.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Installing build/Build/Products/Debug-iphonesimulator/pLot.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist …Run Code Online (Sandbox Code Playgroud) 在我的应用程序的用户设置中,用户可以通过选中一个框来订阅或取消订阅MailChimp列表.我在检索用户MailChimp member_id时遇到了一些麻烦.
我创建了一个.env文件:
MAILCHIMP_API_KEY = "my_api_key"
MAILCHIMP_LIST_ID = "my_list_id"
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为gibbon.rb的初始化程序:
Gibbon::Request.api_key = ENV["MAILCHIMP_API_KEY"]
Gibbon::Request.timeout = 15
Run Code Online (Sandbox Code Playgroud)
我在user.rb中使用此方法
def mailchimp_news
@mailchimp_list_id = ENV["MAILCHIMP_LIST_ID"]
@gibbon = Gibbon::Request.new
if self.news_email == true
@gibbon.lists(@mailchimp_list_id).members.update(body: {
email_address: self.email,
status: "subscribed",
merge_fields: {FNAME: self.name,
LNAME: ""}
})
elsif self.news_email == false
@gibbon.lists(@mailchimp_list_id).members(member_id).update(body: { status: "unsubscribed" })
end
Run Code Online (Sandbox Code Playgroud)
结束
并通过检查后调用它
after_save :mailchimp_news
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:undefined local variable or method `member_id'.我如何获得member_id?
我正在尝试在聊天应用程序中渲染表情符号,但无法让由多个部分构建的表情符号正常工作。
例如:
作品26f9的代码点Person with Ball
const emoji = String.fromCodePoint('0x26f9');
Run Code Online (Sandbox Code Playgroud)
但26f9-fe0f-200d-2640-fe0f对于Woman bouncing ball不起作用
const emoji = String.fromCodePoint('0x26f9-fe0f-200d-2640-fe0f');
Run Code Online (Sandbox Code Playgroud) javascript ×4
react-native ×4
ios ×3
css ×1
ecmascript-6 ×1
emoji ×1
eslint ×1
facebook ×1
fbsdk ×1
gibbon ×1
html ×1
image ×1
inheritance ×1
mailchimp ×1
react-dom ×1
reactjs ×1