小编ion*_*ush的帖子

在 useEffect 中使用 setTimeout 延迟响应 setInterval

我想在第一次触发时运行一个延迟的间隔。我该如何使用 useEffect 来做到这一点?由于语法,我发现很难实现我想做的事情

区间函数

  useEffect(()=>{
    const timer = setInterval(() => {
      //do something here
      return ()=> clearInterval(timer)
    }, 1000);
  },[/*dependency*/])
Run Code Online (Sandbox Code Playgroud)

延迟功能

useEffect(() => {
    setTimeout(() => {
//I want to run the interval here, but it will only run once 
//because of no dependencies. If i populate the dependencies, 
//setTimeout will run more than once.
}, Math.random() * 1000);
  }, []);
Run Code Online (Sandbox Code Playgroud)

当然,它是可以以某种方式实现的......

settimeout setinterval reactjs react-hooks use-effect

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

mongodb导入以数字为键的对象结果为数组

我有一个简单的 .json 我正在尝试导入:

{
  "data": {
    "plans": {
      "1": "14",
      "2": "20",
      "3": "40"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当我使用MongoDB Compass直接导入json文件时,计划对象被转换为数组:

{ "_id": { "$oid": "5fe3ff5d909016064978f2bd" }, "plans": [null, "14", "20", "40"] }

Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?或者我可以不使用数字作为 JSON 中的键吗

json mongodb mongodb-compass

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

React-Native:模态中的 Flatlist 无法滚动

自从升级到最新的 React-Native 版本(0.55.4)以来,我在滚动模态列表时遇到了问题。在本例中它是一个 Flatlist

有问题的 Flatlist 位于一个模态中,该模态位于另一个模态中,该模态在另一个 Flatlist 上呈现为页脚组件(它是一个添加按钮)。

请帮忙!谢谢

代码:

Flatlist 页脚组件(添加按钮):

@observer
class AddButton extends Component {
    @observable visible = false;

    constructor(props) {
        super(props);
        this.state = {
            mergeName: '',
            coin: undefined
        };
    }
    show = () => {
        this.visible = true;
    };

    hide = () => {
        this.visible = false;
    };

    render() {

        return (
            <View>
                <Button
                    primary
                    onPress={() => {
                        this.show();
                    }}
                    title={'add'}
                    style={{
                        width: '50%',
                        alignSelf: 'center',
                        marginVertical: 16
                    }}
                />
                <Modal
                    visible={this.visible}
                    animationType='slide'
                    onRequestClose={this.hide}
                > …
Run Code Online (Sandbox Code Playgroud)

javascript react-native react-native-flatlist

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