小编myT*_*532的帖子

React 在 useEffect 完成之前挂钩渲染组件

我的 useEffect 中有一个异步请求。我注意到该组件是在 useEffect 完成之前渲染的。

import React, { useEffect } from 'react';
import axios from 'axios';

import './SearchWords.css';

const URL_REQUEST = 'http://myLink.com';

const SearchWords = (props) => {
    const { setState } = props;

    useEffect(async () => {
        const data = {
            sentence: props.sentence
        };
      
        await axios.post(`${URL_REQUEST}/getData`, { data })
            .then((res) => {
                setState(state =>({
                    ...state,
                    search: res.data
                }));
            })
            .catch((err) =>{
                console.log(err);
            })
    }, []);

    const render = () => {
        if(props.search.length > 0) {
            const linkMarkup = props.search.map((link) …
Run Code Online (Sandbox Code Playgroud)

reactjs axios react-hooks

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

IDE 告诉我不要在 React 中使用 $(document).ready

我在 React 应用程序中使用 query.dataTable,而我的 IDE(Visual Studio Code)向我表明我不应该使用$(document).ready(function ()

在此输入图像描述

我的代码:

...
import "datatables.net-dt/js/dataTables.dataTables"
import "datatables.net-dt/css/jquery.dataTables.min.css"

...

componentDidMount = async () => {
        this.props.onLoadData();
        this.setState({ events: this.props.data });

        $(document).ready(function () {
            $('#myTable').DataTable();
        });
}

...

return (
  ...

  <table id="myTable" className="table">

...
Run Code Online (Sandbox Code Playgroud)

为什么IDE会显示它?该代码有效,我想知道为什么它无效。

谢谢

datatable jquery reactjs

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

AppRegistry.registerComponent() 不适用于 Expo

我曾经使用 AppRegistry.registerComponent() 设置我的项目的主文件,但是使用 Expo 创建的项目不支持它。

import { AppRegistry } from 'react-native';
import App from './src/App';

AppRegistry.registerComponent('my App', () => App);
Run Code Online (Sandbox Code Playgroud)

然后,我使用 src/App.js 作为我的主文件。我如何使用世博会做到这一点?

谢谢

react-native expo

3
推荐指数
1
解决办法
3118
查看次数

将ColdFusion日期转换为Unix时间戳

如何将ColdFusion日期转换为Unix时间戳?

myDate = DateAdd("m", -1, Now());
Run Code Online (Sandbox Code Playgroud)

我想使用ColdFusion将myDate转换为unix时间戳

谢谢

coldfusion unix-timestamp cfml

3
推荐指数
1
解决办法
182
查看次数

解码字符串 - Javascript

我正在尝试在 javascript 中实现解码字符串算法。

问题:给定一个编码字符串,返回它的解码字符串。

编码规则是:k[encoded_string],其中方括号内的encoded_string 正好重复k 次。请注意,k 保证为正整数。

您可以假设输入字符串始终有效;没有多余的空格,方括号格式正确等。

此外,您可以假设原始数据不包含任何数字,并且数字仅用于那些重复数字 k。例如,不会有像 3a 或 2[4] 这样的输入。

示例 1:

输入:s = "3[a]2[bc]" 输出:"aaabcbc"

示例 2:

输入:s = "3[a2[c]]" 输出:"accaccacc"

示例 3:

输入:s = "2[abc]3[cd]ef" 输出:"abcabccdcdcdef"

示例 4:

输入:s = "abc3[cd]xyz" 输出:"abccdcdcdxyz"

我的尝试:

var decodeString = function(s) {
    if(!s || s.length === 0)    return "";
    
    let map = {
        '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6,
        '7': 7, '8': 8, '9': 9
    };
    let res = …
Run Code Online (Sandbox Code Playgroud)

javascript depth-first-search

3
推荐指数
1
解决办法
536
查看次数

Material-UI:组件正在将 SwitchBase 的不受控制的选中状态更改为受控制

当我使用 Switch 组件时,我在浏览器控制台中收到此错误。

...
import { Button, Form, FormText, Label, Input } from 'reactstrap';
import { FormGroup, Switch, Radio, FormControlLabel, RadioGroup  } from '@material-ui/core';
...

// state variable to keep my Switch values. I grab the values from the database
const [ companySettings, setCompanySettings ] = useState({});

...

// Where I render the Switches
<Form inline>
    <div className="row">
        <div className="col-sm-12">
            <FormGroup row>
                <Switch name="escrow" checked={companySettings.payCCFee} onChange={() => setCompanySettings({...companySettings, payCCFee: !companySettings.payCCFee})} aria-label="Company Pay CC Fee" />
                <Label for="escrow" className="mr-sm-10">
                    Company pays …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui

3
推荐指数
1
解决办法
9240
查看次数

React Native NativeModule.ImagePickermanager 为空

我正在尝试使用 react-native-image-picker,但出现错误:NativeModule.ImagePickermanager 为空。

import React, { Component } from 'react';
import { Text, View, StyleSheet, Alert, PixelRatio, Image } from 'react-native';
import ImagePicker from 'react-native-image-picker';
...
handleChoosePhoto = () => {
    const options = {
      noData: true,
    };
    ImagePicker.launchImageLibrary(options, response => {
      if (response.uri) {
        this.setState({ photo: response });
      }
    });
};

...

<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
            {this.state.photo && (
    <Image
       source={{ uri: this.state.photo.uri }}
       style={{ width: 300, height: 300 }}
    />
  )}
  <Button title="Choose …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-image-picker

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

反应原生升级返回未定义的“toLowerCase”

我正在尝试将我的本机反应更新为最新版本。我运行命令:react-native upgrade --verbose

但是,它正在返回:

info No version passed. Fetching latest...
info Fetching diff between v0.59.8 and v0.60.5...
error Cannot read property 'toLowerCase' of undefined
debug TypeError: Cannot read property 'toLowerCase' of undefined
    at getPatch (/Users/myUser/Documents/React Native/myApp/node_modules/@react-native-community/cli/build/commands/upgrade/upgrade.js:109:121)
    at process._tickCallback (internal/process/next_tick.js:68:7)
Run Code Online (Sandbox Code Playgroud)

如何升级本机反应?

react-native

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

从 Expo React Native Project 中的 URL 查看 pdf

我一直在尝试使用 react native 打开一个 pdf 文件,但是我尝试的每个库都会产生一个错误。我试过下面的代码:

import React, { Component } from 'react';
import Pdf from 'react-native-pdf';

class OpenBGReport extends Component {
  render() {
    const source = {uri:'http://samples.leanpub.com/thereactnativebook-sample.pdf',cache:true};

    return (
      <View style={styles.container}>
        <Pdf
                    source={source}
                    onLoadComplete={(numberOfPages,filePath)=>{
                        console.log(`number of pages: ${numberOfPages}`);
                    }}
                    onPageChanged={(page,numberOfPages)=>{
                        console.log(`current page: ${page}`);
                    }}
                    onError={(error)=>{
                        console.log(error);
                    }}
                    style={styles.pdf}/>
      </View>
    );
  }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'flex-start',
        alignItems: 'center',
        marginTop: 25,
    },
    pdf: {
        flex:1,
        width:Dimensions.get('window').width,
        height:Dimensions.get('window').height,
    }
});

export default OpenBGReport;
Run Code Online (Sandbox Code Playgroud)

但是,安装 react-native-pdf …

pdf react-native expo

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

不使用排序的最大三重产品?

我实现了最大的三重产品算法,但我使用了排序,这使我的时间复杂度为 O(nlogn)。有没有办法在没有临时排序数组的情况下实现它?

问题:给定一个包含 n 个整数 arr[0..(n-1)] 的列表。您必须计算一个列表 output[0..(n-1)] ,使得对于每个索引 i(在 0 和 n-1 之间,包括端点),output[i] 等于三个最大元素的乘积arr[0..i](如果 i < 2,则等于 -1,因为 arr[0..i] 然后包含少于三个元素)。请注意,用于形成任何乘积的三个最大元素可能彼此具有相同的值,但它们在 arr 中必须位于不同的索引处。

例子:

var arr_2 = [2, 4, 7, 1, 5, 3];
var expected_2 = [-1, -1, 56, 56, 140, 140];
Run Code Online (Sandbox Code Playgroud)

我的解决方案:

function findMaxProduct(arr) {
  // Write your code here
  if(!arr || arr.length === 0)  return [];
  
  let helper = arr.slice();
  helper.sort((a,b)=>a-b);   // THIS IS THE SORT
  
  let ans = [];
  let prod = 1;
  for(let i=0; i<arr.length; i++) …
Run Code Online (Sandbox Code Playgroud)

javascript arrays algorithm

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