小编Jam*_*e S的帖子

在 Next.js 中使用 Redux 是一种反模式吗?

我正在构建一个 Next.js 应用程序,它目前正在使用 Redux。在我构建它时,我想知道是否真的有必要使用 Redux,它的使用是否实际上是一种反模式。这是我的推理:

为了在 Next.js 中正确初始化 Redux Store,您必须App使用getInitialProps方法创建自定义组件。通过这样做,您将禁用Next.js 提供的自动静态优化

相比之下,如果我要在客户端包含 Redux,则只有在 App 挂载后,Redux 商店才会在每次服务器端导航后重置。例如,我有一个 Next.js 应用程序,它在客户端初始化 Redux 存储,但是当路由到动态路由(例如 )时pages/projects/[id],页面是服务器端呈现的,我必须重新获取店铺。

我的问题是:

  1. 在这种情况下,Redux 商店有什么好处?
  2. 我应该在根App组件中初始化商店并放弃自动静态优化吗?
  3. 有没有更好的方法来管理 Next.js 9.3 中的状态getStaticProps其他数据获取方法
  4. 我错过了什么吗?

redux react-redux next.js

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

流星语音识别与移动语音文本

我的目标是使用Meteor获取一些语音识别文本.我知道大多数设备键盘已经有一个麦克风按钮,可以启用语音到文本,但我想避免弹出用户键盘.

为此:我一直在尝试使用此处使用的webKitSpeechRecognition .我有它在桌面上工作就好了.但是当我在手机上导航到我的本地主机,或者实际在手机上构建应用程序(Android Galaxy s5)时,奇怪的事情开始发生.

导航到localhost时: 我不会像在桌面上那样显示最终文本,而是获得我的识别对象所想的每次迭代.例如:如果我说:' Hello Stack '.我得到:' hellohellohello stackhello stack '

启动移动应用程序时: 麦克风永远不会打开.我的console.log都没有通过,也没有任何事情发生.

这是我所有代码的要点.这是相关部分.其他一切都是非常标准的流星模板.

    recognition = new webkitSpeechRecognition();
    recognition.continuous = true;
    recognition.interimResults = true;
    Session.set('final_span','')
    Session.set('interim_span','')
    final_transcript='';


    recognition.onstart = function() {
      Session.set('listening',true)
      recognizing = true;
      console.log('started')
    }

    recognition.onresult = function(event) {
     var interim_transcript = '';
         for (var i = event.resultIndex; i < event.results.length; ++i) {
           if (event.results[i].isFinal) {
             final_transcript += event.results[i][0].transcript;
           } else {
             interim_transcript += event.results[i][0].transcript;
           }
         }
         Session.set('final_span',final_transcript)
         Session.set('interim_span',interim_transcript);
    }
Run Code Online (Sandbox Code Playgroud)

我找了一些包给我解决这个问题,但没找到任何有用的方法.

TLDR:有关如何使用Meteor在移动设备上获取语音识别的任何见解.

javascript mobile speech-recognition meteor

6
推荐指数
0
解决办法
769
查看次数

预期')' - SVG改变投掷错误

我正在使用D3为g元素添加属性.我也使用D3-selection-multi来简化属性编写(允许你将对象传递给.attrs()函数).

使用webpackbabel-preset-env

d3.select('g').attrs({
  'class': 'thing',
  'transform-origin': '50% 50%',
  'transform': `translate(${opts.w/2} ${opts.h/2}) rotate(${opts.angle}deg)`
})
Run Code Online (Sandbox Code Playgroud)

我一直收到这个错误: attribute transform: Expected ')'

svg transform d3.js

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

找不到 Dokku 子域

我将一个应用程序部署到我的 Digital Ocean Dokku 实例,并设置了一个域,以便https://example.com(使用letsencrypt dokku 插件)指向我的originalApp. 我最近尝试在我的 Dokku 实例上部署第二个应用程序,认为我可以使用 访问它http://newApp.example.com,并最终使用new-example.com它来访问它。

但是,我无法访问我的新应用。 dokku domains:report产量:

=====> newApp domains information
       Domains app enabled:           true
       Domains app vhosts:            new-example.com newApp.example.com
       Domains global enabled:        true
       Domains global vhosts:         example.com
=====> originalApp domains information
       Domains app enabled:           true
       Domains app vhosts:            example.com
       Domains global enabled:        true
       Domains global vhosts:         example.com
Run Code Online (Sandbox Code Playgroud)

最终目标是让两个独立的域指向各自的应用程序。(这甚至可能吗?)但目前,我什至无法让子域工作。

我确认该应用程序正在运行 dokku logs newApp

在 Digital Ocean > Networking 部分,我newDomain.com有 Digital Ocean NS …

subdomain nginx digital-ocean dokku

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