我刚开始使用React.js,我只是不确定是否有一种特殊的方法来获取文本框的值,在这样的组件中返回:
var LoginUsername = React.createClass({
render: function () {
return (
<input type="text" autofocus="autofocus" onChange={this.handleChange} />
)
},
handleChange: function (evt) {
this.setState({ value: evt.target.value.substr(0, 100) });
}
});
Run Code Online (Sandbox Code Playgroud) 我每天都在开发Facebook JavaScript应用程序,但在Facebook文档和我访问的其他网站上,一直磕磕绊绊地看到一些我不理解的代码片段.
我在谷歌搜索了CURL,并找到了一些关于它的描述.我无法弄清楚Facebook是如何让我使用它的.
curl -F "title=Example Title" -F "description=Description" \
-F "start_time=1329417443" \
"https://graph.facebook.com/PAGE_ID/milestones?access_token=_"
Run Code Online (Sandbox Code Playgroud)
这对我来说是不可能的.你能帮助我理解我可以在Facebook上使用它的背景,也许总的来说,并指导我在哪个方向找到更多关于这个主题的正确方向?
在典型的基于类的React组件中,这就是创建事件处理程序的方式:
class MyComponent extends Component {
handleClick = () => {
...
}
render() {
return <button onClick={this.handleClick}>Click Me</button>;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用基于钩子的功能范例时,发现有两个选择:
const MyComponent = () => {
const [handleClick] = useState(() => () => {
...
});
return <button onClick={handleClick}>Click Me</button>;
};
Run Code Online (Sandbox Code Playgroud)
或者:
const MyComponent = () => {
const handleClick = useRef(() => {
...
});
return <button onClick={handleClick.current}>Click Me</button>;
};
Run Code Online (Sandbox Code Playgroud)
客观上哪个更好,出于什么原因?还有我还没有听说过的(更好)方法吗?
谢谢您的帮助。
编辑:我在CodeSandbox上放了一个示例,显示了这两种方法。正如您从那里的代码可以看到的那样,似乎都没有必要在每个渲染器上重新创建事件处理程序,因此,我认为不可能出现性能问题。
假设一个事件有多个处理程序,如果任何事件处理程序抛出异常,则不执行其余处理程序.
这是否意味着事件处理程序永远不应该抛出?
可能重复:
检查变量是否为自然数
刚刚遇到我需要清理输入并使用PHP删除所有非数字字符的地方.考虑自己制作一个功能,但首先想要检查可能的内置功能,所以我不必花费额外的时间重新发明轮子.
我有一个onbeforeunload事件处理程序附加到页面,每当页面重新加载/重定向时执行.
window.onbeforeunload = function() {
console.log("do something");}
Run Code Online (Sandbox Code Playgroud)
我不想在测试期间运行此脚本.我想在我自己的测试环境中禁用它.
有没有办法取消绑定这个onbeforeunload事件?我使用JavaScript,使用jQuery作为框架,因此jQuery中的答案会很好.
所以,例如,这是一个脚本:
<!-- Random content above this comment -->
<input type="text" tabindex="1" />
<input type="text" tabindex="2" />
<input type="text" tabindex="3" />
<input type="text" tabindex="4" />
<input type="text" tabindex="5" />
<input type="text" tabindex="6" />
<!-- Nothing underneath this comment -->
Run Code Online (Sandbox Code Playgroud)
因此,当用户按Tab键并浏览六个文本框,到达最后一个然后按Tab键时,它将转到第一个注释上方的内容,对吧?那么,我该如何让它tabindex="1"再次开始呢?
我有一个问题,我必须gzip一个原型Lib,但我完全不知道如何做到这一点,从哪里开始,它是如何工作的.:)
我找到一些教程,但这没有帮助......
所以我的JS文件有一个文件夹:
/ compressed/js/1.js 2.js 3.js
我在这个文件中调用这些文件进行测试
/compresses/index.php
<link rel="javascript" type="text/js" href="js/tabs.js" />
<link rel="javascript" type="text/js" href="js/fb.js" />
Run Code Online (Sandbox Code Playgroud)
那我该怎么办?:)
我正在查看许多代码片段,我发现人们可以在if语句中使用以下两种方法:
方法1:
<?php
if ($condition) {
// Do this
}
?>
Run Code Online (Sandbox Code Playgroud)
方法2:
<?php
if ($condition):
// Do this
endif;
?>
Run Code Online (Sandbox Code Playgroud)
那么哪种方法与PHP编译器和PHP版本更兼容,或者两者之间没有明显区别?