小编Zac*_*urt的帖子

React-virtualized List 和 CellMeasurer 的行高是错误的

有人可以看一下我的吗react-virtualized设置吗?我确信它的设计不正确,因为单元高度没有正确测量。

https://gist.github.com/zackster/31fb5a983a33b303626cd8ae9dee3b94

我是 React.js 的新手(这是我在 React 中的第一个项目,所以一些糟糕的设计可能归因于此)。我将测量值​​传递到 ChatHistoryCell 中,后者将其传递到各个子组件中,这些子组件不可避免地会在各自的 componentDidMount 事件上调用它。

我对此基本上有三个主要错误。

  1. 我希望它在第一次加载后立即滚动到底部。不知道该怎么做?该组件似乎重新渲染了很多,所以答案可能涉及状态标志?您会注意到当前的要点已this._list.scrollToRow(selectedThread.chat_log.length - 1);包含componentDidUpdate()但不起作用

  2. 计算出的行高通常是非常错误的。

  3. 如果我调整窗口的宽度,然后调用这些方法:

        selectedConversation.cellMeasurerCache.clearAll();
        selectedConversation.cellMeasurer.resetMeasurements();
        selectedConversation.listRef.recomputeRowHeights();
        selectedConversation.listRef.forceUpdateGrid();
Run Code Online (Sandbox Code Playgroud)

调整大小后,看起来很糟糕。但是,如果我滚动到视图之外,然后返回视图,它看起来不错并调整为新的宽度。

reactjs react-virtualized

5
推荐指数
0
解决办法
871
查看次数

在PHP中确定缩短的URL的最终目的地?

我怎么能用PHP做到这一点?例如

bit.ly/f00b4r ==> http://www.google.com/search?q=cute+kittens

在Java中,解决方案是这样的:

您应该使用HttpWebRequest实例向URL发出HEAD请求.在返回的HttpWebResponse中,检查ResponseUri.

只需确保HttpWebRequest实例上的AllowAutoRedirect设置为true(默认情况下为true).(Thx,casperOne)

代码是

private static string GetRealUrl(string url)
{
    WebRequest request = WebRequest.Create(url);
    request.Method = WebRequestMethods.Http.Head;
    WebResponse response = request.GetResponse();
    return response.ResponseUri.ToString();
}
Run Code Online (Sandbox Code Playgroud)

(Thx,Fredrik Mork)

但我想用PHP来做.如何?:)

php url-routing bit.ly

4
推荐指数
1
解决办法
2926
查看次数

添加form.submit事件以确保在提交表单之前发布帖子?

我有一张表格.我想使用jquery添加一个事件处理程序.

$("form").submit(function blah() {
   $.post('ping-me-please.php', params, function (response) {
       // only submit the form once this goes through!
   });

}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

javascript ajax jquery

4
推荐指数
1
解决办法
504
查看次数

如何让Google的闭包库加载速度更快?

我正在写一个基于[ libphonenumber ] 的简单电话号码解析器.不幸的是,"http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js"需要永远加载,当我忘记文件并将其包含为src ="base.js"时,弹出一堆错误.

我的猜测是因为库尚未加载,所以goog.require()语句失败了.

我能做什么?

<!DOCTYPE html>
<html>
<head>
<title>Phone Number Parser</title>
<script src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js"></script>
<script>
  goog.require('goog.dom');
  goog.require('goog.json');
  goog.require('goog.proto2.ObjectSerializer');
  goog.require('goog.string.StringBuffer');
</script>
<script src="phonemetadata.pb.js"></script>
<script src="phonenumber.pb.js"></script>
<script src="metadata.js"></script>
<script src="phonenumberutil.js"></script>
</head>
<body>
<script>
numbers = ['6509066389', '+40723875777', '720-935-6433', '914-262-7178', '7123040634'];
for (i in numbers) {
    console.log(format_for_five9(numbers[i]));
}

function format_for_five9(phoneNumber) {
  var $ = goog.dom.getElement;
  var regionCode = 'US'; 
  var output = new goog.string.StringBuffer();
  try {
    var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance();
    var number = phoneUtil.parseAndKeepRawInput(phoneNumber, regionCode);

    number_json_serial = goog.json.serialize(new goog.proto2.ObjectSerializer(goog.proto2.ObjectSerializer.KeyOption.NAME).serialize(number));
    number_json = …
Run Code Online (Sandbox Code Playgroud)

javascript google-closure google-closure-library

4
推荐指数
2
解决办法
1873
查看次数