小编use*_*291的帖子

React 功能组件:如何使用 componentDidMount()

我有一个函数,从技术上讲,它是一个 React 函数组件:

export default function Daw() {
  return (
    <>
        <div>Hello world.</div>
    </>
  );
}
Run Code Online (Sandbox Code Playgroud)

当然,我的普通函数不可能有ReactJS的方法componentDidMount()。因为它不是一个扩展的类React.PureComponent

我在 ReactJS Web 应用程序中使用此函数。

export default function Daw() {

  componentDidMount() { // ** Cannot use this ReactJS method!?
  }

  return (
    <>
        <div>Hello world.</div>
    </>
  );
}
Run Code Online (Sandbox Code Playgroud)

问题

我怎样才能componentDidMount()在我的普通函数中调用ReactJS的方法?有没有办法做到这一点,而不将我的函数转换为扩展的类React.PureComponent?是否可以?

javascript reactjs

11
推荐指数
2
解决办法
1万
查看次数

lapacke和lapack之间的区别

我想知道LAPACK E和LAPACK 之间有什么区别.我想用QZ分解进行特征分析,但我不确定是否应该从LAPACK E或LAPACK开始.我感谢任何帮助.

c++ lapack lapacke

10
推荐指数
2
解决办法
5369
查看次数

android.content.res.Resources$NotFoundException: 文件 res/drawable-v21/launch_background.xml

以前,我正在构建和运行 Flutter 应用程序。我不记得做了任何更改,但最近,我在通过 Android Studio 在智能手机上构建和运行应用程序时遇到了这样的错误:

Launching lib\main.dart on SM N900 in debug mode...
Running Gradle task 'assembleDebug'...
E/AndroidRuntime(12731): FATAL EXCEPTION: main
E/AndroidRuntime(12731): Process: io.flutter.demo.gallery, PID: 12731
E/AndroidRuntime(12731): java.lang.RuntimeException: Unable to start activity ComponentInfo{io.flutter.demo.gallery/io.flutter.demo.gallery.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable-v21/launch_background.xml from drawable resource ID #0x7f040000
E/AndroidRuntime(12731):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693)
E/AndroidRuntime(12731):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758)
E/AndroidRuntime(12731):    at android.app.ActivityThread.access$900(ActivityThread.java:177)
E/AndroidRuntime(12731):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
E/AndroidRuntime(12731):    at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(12731):    at android.os.Looper.loop(Looper.java:145)
E/AndroidRuntime(12731):    at android.app.ActivityThread.main(ActivityThread.java:5942)
E/AndroidRuntime(12731):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(12731):    at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(12731):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
E/AndroidRuntime(12731):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
E/AndroidRuntime(12731): Caused by: android.content.res.Resources$NotFoundException: …
Run Code Online (Sandbox Code Playgroud)

xml android gradle android-studio flutter

10
推荐指数
2
解决办法
2190
查看次数

错误:命名空间“std”中没有名为“is_same_v”的模板;您指的是“is_same”吗?

这是另一个已经解决的问题的后续。但随后,我收到此错误:

error: no template named 'is_same_v' in namespace 'std'; did you mean 'is_same'?
    !std::is_same_v<typename std::iterator_traits<T>::value_type, void>, O
     ~~~~~^~~~~~~~~
          is_same
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:831:61: note: 'is_same' declared here
template <class _Tp, class _Up> struct _LIBCPP_TEMPLATE_VIS is_same           : public false_type {};
                                                            ^
Run Code Online (Sandbox Code Playgroud)

根据之前的回答

...它是在 C++14 中添加的,就像大多数其他类型特征*_t版本一样...C++17 添加了*_v作为内联 constexpr 变量的版本...

所以,is_same_v是由C++17添加的。但我已经通过以下方式将 C++14 和 C++17 添加到 QMake:

CONFIG += c++14
CONFIG += c++17
QMAKE_CXXFLAGS += -std=c++14
QMAKE_CXXFLAGS += -std=c++17
Run Code Online (Sandbox Code Playgroud)

XCode (Clang) 是否可能缺少一些 C++17 功能?我的 Xcode 版本是 9.4.1,我的 …

c++ xcode qt std clang++

8
推荐指数
1
解决办法
7179
查看次数

如何增加范围的 HTML5 输入类型的长度/大小

如何增加 HTML5范围输入的长度/大小 以使其更长/更大?

<!DOCTYPE html>
<html>
<body>
<form action="/" method="get">
  Points:
  <input type="range" name="points" min="0" max="10">
  <input type="submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我累了属性size="100px"width="100px"但他们没有工作。我想知道是否可以更改 HTML5 范围输入的长度/大小:

在此处输入图片说明

html

7
推荐指数
1
解决办法
9173
查看次数

错误:命名空间“std”中没有名为“enable_if_t”的模板;您的意思是“enable_if”吗?

我正在 macOS 10.13.6 上使用 Qt 5.11.3 进行编译。Qt使用的clang版本是:

$ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -v
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

error: no template named 'enable_if_t' in namespace 'std'; did you mean 'enable_if'?
using FloatingOnly = std::enable_if_t<std::is_floating_point<T>::value, O>;
                     ~~~~~^~~~~~~~~~~
                          enable_if
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:423:63: note: 'enable_if' declared here
template <bool, class _Tp = void> struct _LIBCPP_TEMPLATE_VIS enable_if {};
                                                              ^
Run Code Online (Sandbox Code Playgroud)

尝试过

到目前为止,我已经做了这些,但没有效果:

// On source *.cpp file

#include <type_traits>
Run Code Online (Sandbox Code Playgroud)
# On project *.pro file

CONFIG += c++17
QMAKE_CXXFLAGS += -std=c++17 # for …
Run Code Online (Sandbox Code Playgroud)

c++ qt qmake clang c++11

7
推荐指数
1
解决办法
1万
查看次数

openSUSE 的构建必备

我是 openSUSE 的新手。我需要为系统获得必要的构建,但无法使用它sudo apt-get install build-essential,甚至无法使用它sudo apt-get update,然后使用之前的代码跟随它。我找到了一种通过sudo zypper install -t pattern devel_basis. 但是,我无法获得 libframe 包!!我不能直接下载,因为我的是办公室电脑上的账户,我没有root权限。我还附上了我的终端的屏幕截图.. 错误接近尾声。

截屏

linux opensuse

6
推荐指数
2
解决办法
7636
查看次数

如何在webpack.config.js中使用.babelrc插件选项

插件的选项.babelrc如下:

{
  "plugins": [
    ["transform-runtime", {
      "polyfill": false,
      "regenerator": true
    }]
  ]
}
Run Code Online (Sandbox Code Playgroud)

由于我不想使用.babelrc,但我打算只使用webpack.config.js,我需要在下面的文件中添加"polyfill": false"regenerator": true选项,我webpack.config.js该怎么做呢.

var webpack=require('webpack')

module.exports = {
    //configuration
    context: __dirname + '/src/ui/',
    entry: './ui.js',
    module: {
        loaders: [{
            // "test" is commonly used to match the file extension
            test: /\.jsx?$/,
            // "exclude" should be used to exclude exceptions
            exclude: /(node_modules|bower_components)/,
            loader: 'babel-loader',
            query: {
                presets: ['react', 'es2015', 'stage-0'],
                plugins: ['react-html-attrs', 'transform-decorators-legacy', 
                          'transform-class-properties', 'transform-runtime'],
            } …
Run Code Online (Sandbox Code Playgroud)

javascript webpack babeljs

6
推荐指数
1
解决办法
489
查看次数

在“颤振”下发现意外的孩子“生成”

克隆repo并运行命令pub get会引发此错误:

在 pubspec.yaml 中检测到错误:

在“flutter”下发现了意外的孩子“generate”。

请更正 C:\Users\m3\repos\gallery\pubspec.yaml 中的 pubspec.yaml 文件

截屏

更新

运行存储库上建议的这些命令,不能解决错误:

C:\Users\m3\repos\fork\gallery>C:\Users\m3\Downloads\flutter_windows_1.20.4-stable\flutter\bin\flutter.bat channel master

C:\Users\m3\repos\fork\gallery>C:\Users\m3\Downloads\flutter_windows_1.20.4-stable\flutter\bin\flutter.bat upgrade

C:\Users\m3\repos\fork\gallery>C:\Users\m3\Downloads\flutter_windows_1.20.4-stable\flutter\bin\flutter.bat channel stable

C:\Users\m3\repos\fork\gallery>C:\Users\m3\Downloads\flutter_windows_1.20.4-stable\flutter\bin\flutter.bat upgrade
Run Code Online (Sandbox Code Playgroud)

flutter

6
推荐指数
2
解决办法
959
查看次数

了解 Qt3D 创建的网格

我创建了一个像这样的 Qt3D 网格:

Qt3DCore::QEntity *newEntity = new Qt3DCore::QEntity();
Qt3DExtras::QConeMesh *mesh =new Qt3DExtras::QConeMesh();
mesh->setTopRadius(0.2);
mesh->setBottomRadius(1.0);
mesh->setLength(2.0);
for(int i = 0; i < mesh->geometry()->attributes().size(); ++i) {
    mesh->geometry()->attributes().at(i)->buffer()->setSyncData(true); // To have access to data
}
newEntity->addComponent(mesh);
Run Code Online (Sandbox Code Playgroud)

创建的网格如下所示:

锥网 锥形网格,另一种观点


在代码的后面,我尝试以STL 二进制格式导出上述网。为此,我提取了实体的几何变换组件:

Qt3DCore::QComponent *compoMesh = nullptr; // place holder for mesh geometry of entity
Qt3DCore::QComponent *compoTran = nullptr; // place holder for mesh transformation of entity
QVector<Qt3DCore::QComponent *> compos = newEntity->components();
for(int i = 0; i < compos.size(); …
Run Code Online (Sandbox Code Playgroud)

qt mesh qt3d stl-format

5
推荐指数
1
解决办法
1564
查看次数