我正在使用 React Hooks - 重写表单以使用钩子概念。一切都按预期工作,除了一旦我在输入中输入任何 1 个字符,输入就会失去焦点。
我猜有一个问题,组件的外部不知道组件内部的变化,但是我该如何解决这个问题呢?
这是 useForm 钩子:
import React, { useState } from "react";
export default function useForm(defaultState, label) {
const [state, setState] = useState(defaultState);
const FormComponent = () => (
<form>
<label htmlFor={label}>
{label}
<input
type="text"
id={label}
value={state}
placeholder={label}
onChange={e => setState(e.target.value)}
/>
</label>
</form>
);
return [state, FormComponent, setState];
}
Run Code Online (Sandbox Code Playgroud)
这是使用 Hook 的组件:
function App() {
const [formValue, Form, setFormValue] = useForm("San Francisco, CA", "Location");
return (
<Fragment>
<h1>{formValue}</h1>
<Form />
</Fragment>
);
}
Run Code Online (Sandbox Code Playgroud) 在最新版本的 Activity Monitor 中,可以按 CMD+4 并获取 GPU 使用情况的图形表示。但是,我想从我的本机 macOS 应用程序获取此信息,因此我正在寻找一种从 macOS 命令行获取此数据(显示在活动监视器中)的方法。
我做了一项关于为新的 iOS 9 制作自定义键盘扩展并向其中添加自定义表情符号的研究。我四处寻找,我什么也没找到。人们说我的问题无法解决。即使在 iOS 论坛和其他类似的地方。KIMOJI 应用程序来了。它在 App Store 上有大量下载,但似乎没有人知道它是如何构建的。可以复制一组字符发送给其他人,看起来很容易,但我没有找到如何去做。
我也读过关于 Unicode 标准的文章,但我看不出应该如何实现它。
有人说,即使是 Apple 也永远不会在其 Store 上接受这种应用程序。这是真的?Kimoji 怎么可能到那里?
链接到 App Store 上的 Kimoji 应用程序(它不是免费的)链接在这里
这是我要发送到服务器的数据的结构:
{
attachment: [File],
foo: String,
bar: String
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我正在尝试发送一组文件以及一些其他数据。为了存储所有这些数据,我使用了FormData()JavaScript 官方 API 中提供的构造函数。formData我正在这样填充:
for (let i = 0; i < this.state.files.length; i++) {
let f = this.state.files[i];
this.formData.append('attachment', f, f.name);
}
this.formData.append('foo', this.state.foo);
this.formData.append('bar', this.state.bar);
Run Code Online (Sandbox Code Playgroud)
旁注:使用 React,react-dropzone进行文件上传。我现在正在尝试将此数据提交到服务器。我首先尝试使用 Fetch API,如下所示:
fetch(url, {
method: method,
body: data,
headers: {
...authHeader(authToken)
}
}
Run Code Online (Sandbox Code Playgroud)
没有太多的成功。方法是POST. authHeader(authToken)只是生成Authorization: Bearer .... 问题是我认为指定的标头被我的身份验证标头覆盖。
所以我尝试使用request和request-promise-native。我做了类似的事情:
rp({
url,
method,
headers: {
...authHeader(authToken)
},
formData: data …Run Code Online (Sandbox Code Playgroud) 我想根据我获得的互联网信息设置不同的 IBInspectable 项目。例如,我有绿色、红色和橙色圆圈的 IBInspectables。如果请求说绿色,我想将 isGreen Inspectionable 设置为 Yes,将其他设置为 no。其他两个也是如此。您可以在此处查看 IBInspectables 。我知道我可以使用我放入其中的代码来完成此操作,但是有没有办法以编程方式切换它们?
ios ×2
reactjs ×2
ajax ×1
command-line ×1
emoji ×1
fetch ×1
gpu ×1
javascript ×1
macos ×1
react-hooks ×1
storyboard ×1
swift ×1
terminal ×1
unicode ×1